Function at 0x40ad00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, esp
mov dword [esi + 0x1c], ecx
mov eax, dword [0x443080]
xor eax, ebp
mov dword [esi + 0x88], eax
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
sub edx, 0x74308727
sub edx, 1
add edx, 0x74308727
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x26], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x27], al
mov dword [esi + 0x20], 0xbfc1bac9
mov eax, dword [esi + 0x20]
mov dword [esi + 0x18], eax
sub eax, 0x83850cd3
je 0x40b572
jmp 0x40ad77
mov eax, dword [esi + 0x18]
sub eax, 0x840a3fbd
je 0x40bb89
jmp 0x40ad8a
mov eax, dword [esi + 0x18]
sub eax, 0x8be6cb5e
je 0x40b791
jmp 0x40ad9d
mov eax, dword [esi + 0x18]
sub eax, 0x8ea9582c
je 0x40bd6d
jmp 0x40adb0
mov eax, dword [esi + 0x18]
sub eax, 0x901deb6e
je 0x40b8cc
jmp 0x40adc3
mov eax, dword [esi + 0x18]
sub eax, 0x95c7a5e7
je 0x40bd30
jmp 0x40add6
mov eax, dword [esi + 0x18]
sub eax, 0x984767f1
je 0x40bc28
jmp 0x40ade9
mov eax, dword [esi + 0x18]
sub eax, 0x9a7961e4
je 0x40b6c1
jmp 0x40adfc
mov eax, dword [esi + 0x18]
sub eax, 0x9ad7c216
je 0x40bd06
jmp 0x40ae0f
mov eax, dword [esi + 0x18]
sub eax, 0x9feb8b12
je 0x40b586
jmp 0x40ae22
mov eax, dword [esi + 0x18]
sub eax, 0xaa56c690
je 0x40bc82
jmp 0x40ae35
mov eax, dword [esi + 0x18]
sub eax, 0xab17d266
je 0x40b912
jmp 0x40ae48
mov eax, dword [esi + 0x18]
sub eax, 0xad054514
je 0x40bd24
jmp 0x40ae5b
mov eax, dword [esi + 0x18]
sub eax, 0xb16309af
je 0x40b79d
jmp 0x40ae6e
mov eax, dword [esi + 0x18]
sub eax, 0xb4bf0565
je 0x40b31b
jmp 0x40ae81
mov eax, dword [esi + 0x18]
sub eax, 0xbfc1bac9
je 0x40b24f
jmp 0x40ae94
mov eax, dword [esi + 0x18]
sub eax, 0xc5fbf45f
je 0x40b492
jmp 0x40aea7
mov eax, dword [esi + 0x18]
sub eax, 0xc67c2054
je 0x40b7be
jmp 0x40aeba
mov eax, dword [esi + 0x18]
sub eax, 0xca3ca3a7
je 0x40b38e
jmp 0x40aecd
mov eax, dword [esi + 0x18]
sub eax, 0xcafccaee
je 0x40b9a8
jmp 0x40aee0
mov eax, dword [esi + 0x18]
sub eax, 0xd15917d3
je 0x40bf0f
jmp 0x40aef3
mov eax, dword [esi + 0x18]
sub eax, 0xd53900a1
je 0x40bad4
jmp 0x40af06
mov eax, dword [esi + 0x18]
sub eax, 0xdc5d9013
je 0x40bea0
jmp 0x40af19
mov eax, dword [esi + 0x18]
sub eax, 0xdcb75f04
je 0x40be4f
jmp 0x40af2c
mov eax, dword [esi + 0x18]
sub eax, 0xdf6f3b65
je 0x40b5a0
jmp 0x40af3f
mov eax, dword [esi + 0x18]
sub eax, 0xe4137fea
je 0x40bc3c
jmp 0x40af52
mov eax, dword [esi + 0x18]
sub eax, 0xe420be42
je 0x40bc07
jmp 0x40af65
mov eax, dword [esi + 0x18]
sub eax, 0xe56434c5
je 0x40b30f
jmp 0x40af78
mov eax, dword [esi + 0x18]
sub eax, 0xe5f6f2f4
je 0x40b62e
jmp 0x40af8b
mov eax, dword [esi + 0x18]
sub eax, 0xf0bf4442
je 0x40b6ad
jmp 0x40af9e
mov eax, dword [esi + 0x18]
sub eax, 0xf160689f
je 0x40bbb8
jmp 0x40afb1
mov eax, dword [esi + 0x18]
sub eax, 0xf2f77a5a
je 0x40bbe7
jmp 0x40afc4
mov eax, dword [esi + 0x18]
sub eax, 0xf416c736
je 0x40bab1
jmp 0x40afd7
mov eax, dword [esi + 0x18]
sub eax, 0xf7122033
je 0x40b7ca
jmp 0x40afea
mov eax, dword [esi + 0x18]
sub eax, 0xfbfacc09
je 0x40bbc4
jmp 0x40affd
mov eax, dword [esi + 0x18]
sub eax, 0xfe159ff8
je 0x40bda9
jmp 0x40b010
mov eax, dword [esi + 0x18]
sub eax, 0xff1b9449
je 0x40be6a
jmp 0x40b023
mov eax, dword [esi + 0x18]
sub eax, 0x15279be
je 0x40bd56
jmp 0x40b036
mov eax, dword [esi + 0x18]
sub eax, 0x15aa476
je 0x40ba0a
jmp 0x40b049
mov eax, dword [esi + 0x18]
sub eax, 0x44e66f5
je 0x40bae9
jmp 0x40b05c
mov eax, dword [esi + 0x18]
sub eax, 0x9e92a3a
je 0x40b857
jmp 0x40b06f
mov eax, dword [esi + 0x18]
sub eax, 0xd488f5b
je 0x40b29a
jmp 0x40b082
mov eax, dword [esi + 0x18]
sub eax, 0x105b7739
je 0x40b99c
jmp 0x40b095
mov eax, dword [esi + 0x18]
sub eax, 0x1d39be5a
je 0x40b7e4
jmp 0x40b0a8
mov eax, dword [esi + 0x18]
sub eax, 0x21d99503
je 0x40bb9d
jmp 0x40b0bb
mov eax, dword [esi + 0x18]
sub eax, 0x25d44cdc
je 0x40bd81
jmp 0x40b0ce
mov eax, dword [esi + 0x18]
sub eax, 0x26df300f
je 0x40b8c0
jmp 0x40b0e1
mov eax, dword [esi + 0x18]
sub eax, 0x361abbe0
je 0x40b49e
jmp 0x40b0f4
mov eax, dword [esi + 0x18]
sub eax, 0x3f472880
je 0x40b9bc
jmp 0x40b107
mov eax, dword [esi + 0x18]
sub eax, 0x54108e4a
je 0x40b6a1
jmp 0x40b11a
mov eax, dword [esi + 0x18]
sub eax, 0x56e8bac2
je 0x40b566
jmp 0x40b12d
mov eax, dword [esi + 0x18]
sub eax, 0x58b8b2a5
je 0x40bb2f
jmp 0x40b140
mov eax, dword [esi + 0x18]
sub eax, 0x5d6d7e4a
je 0x40bf03
jmp 0x40b153
mov eax, dword [esi + 0x18]
sub eax, 0x5f9216ad
je 0x40bdb5
jmp 0x40b166
mov eax, dword [esi + 0x18]
sub eax, 0x63d8b3fa
je 0x40be94
jmp 0x40b179
mov eax, dword [esi + 0x18]
sub eax, 0x63fe0636
je 0x40bc1c
jmp 0x40b18c
mov eax, dword [esi + 0x18]
sub eax, 0x66e90290
je 0x40bb7d
jmp 0x40b19f
mov eax, dword [esi + 0x18]
sub eax, 0x68192927
je 0x40baa5
jmp 0x40b1b2
mov eax, dword [esi + 0x18]
sub eax, 0x688e413a
je 0x40b7a9
jmp 0x40b1c5
mov eax, dword [esi + 0x18]
sub eax, 0x69348864
je 0x40b70f
jmp 0x40b1d8
mov eax, dword [esi + 0x18]
sub eax, 0x6cedb6c1
je 0x40b5bb
jmp 0x40b1eb
mov eax, dword [esi + 0x18]
sub eax, 0x71d1a4a1
je 0x40be76
jmp 0x40b1fe
mov eax, dword [esi + 0x18]
sub eax, 0x7265d5c8
je 0x40bbfb
jmp 0x40b211
mov eax, dword [esi + 0x18]
sub eax, 0x779aec98
je 0x40beaf
jmp 0x40b224
mov eax, dword [esi + 0x18]
sub eax, 0x7de05e55
je 0x40b8a5
mov bl, byte [esi + 0x26]
mov dh, byte [esi + 0x27]
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xfe159ff8
mov ecx, 0xd488f5b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
push eax
mov eax, esp
mov dword [esi + 0x28], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x2c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
mov edx, eax
sub edx, 0x5eb336e3
sub edx, 1
add edx, 0x5eb336e3
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xfe159ff8
mov ecx, 0xe56434c5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0xb4bf0565
jmp 0x40bf19
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
add edx, 0x339a9bb4
sub edx, 1
sub edx, 0x339a9bb4
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x5f9216ad
mov ecx, 0xca3ca3a7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov ecx, dword [esi + 0x1c]
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x14], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x3c], eax
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
push eax
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x50], eax
push eax
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x28]
mov dword [eax], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
lea eax, str.wdvfcsqrajgehkmqtqczvomjgiofrabvxqmfftquntcebjjergyxwobplwionolydgayfwvjrfmycnlbgbwyaq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x30]
vmovsd xmm0, qword [0x43b240]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x34]
mov byte [edx], 0
mov edx, dword [esi + 0x38]
mov dword [edx], 0x3ed
vmovsd xmm0, qword [0x43b238]
vmovsd qword [ecx], xmm0
vmovsd xmm0, qword [0x43b230]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x3c]
lea eax, str.zfvq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x5f9216ad
mov ecx, 0xc5fbf45f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0x361abbe0
jmp 0x40bf19
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
sub edx, 0x6774817
sub edx, 1
add edx, 0x6774817
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xdcb75f04
mov ecx, 0x7f5ef4c1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0x83850cd3
jmp 0x40bf19
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x20], 0x9feb8b12
jmp 0x40bf19
mov eax, dword [esi + 0x5c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x63], al
mov dword [esi + 0x20], 0xdf6f3b65
jmp 0x40bf19
mov dl, byte [esi + 0x63]
mov eax, 0x688e413a
mov ecx, 0x6cedb6c1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
sub edx, 0x7eecc4c9
sub edx, 1
add edx, 0x7eecc4c9
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xff1b9449
mov ecx, 0xe5f6f2f4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
add edx, 0x252157e2
sub edx, 1
sub edx, 0x252157e2
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xff1b9449
mov ecx, 0x54108e4a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0xf0bf4442
jmp 0x40bf19
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov dword [esi + 0x20], 0x9a7961e4
jmp 0x40bf19
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
mov edx, eax
add edx, 0xe9e54853
sub edx, 1
sub edx, 0xe9e54853
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x71d1a4a1
mov ecx, 0x69348864
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov ecx, dword [esi + 0x64]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
add edx, 0x1e0ae6ce
sub edx, 1
sub edx, 0x1e0ae6ce
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x71d1a4a1
mov ecx, 0x8be6cb5e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0xb16309af
jmp 0x40bf19
mov dword [esi + 0x20], 0x83850cd3
jmp 0x40bf19
mov eax, dword [esi + 0x48]
mov dword [eax], 0xb
mov dword [esi + 0x20], 0xc67c2054
jmp 0x40bf19
mov dword [esi + 0x20], 0xf7122033
jmp 0x40bf19
mov eax, dword [esi + 0x48]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x6b], al
mov dword [esi + 0x20], 0x1d39be5a
jmp 0x40bf19
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
sub edx, 0x22623e50
sub edx, 1
add edx, 0x22623e50
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x63d8b3fa
mov ecx, 0x9e92a3a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
mov edx, eax
add edx, 0xef06433c
sub edx, 1
sub edx, 0xef06433c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x63d8b3fa
mov ecx, 0x7de05e55
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0x901deb6e
jmp 0x40bf19
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xdc5d9013
mov ecx, 0xab17d266
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x6c], eax
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
sub edx, 0x5df32d7
sub edx, 1
add edx, 0x5df32d7
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xdc5d9013
mov ecx, 0x105b7739
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0xcafccaee
jmp 0x40bf19
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x6c]
mov dword [eax], ecx
mov dword [esi + 0x20], 0xf7122033
jmp 0x40bf19
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
mov edx, eax
add edx, 0x610ebb0d
sub edx, 1
sub edx, 0x610ebb0d
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x779aec98
mov ecx, 0x15aa476
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov ecx, dword [esi + 0x4c]
lea eax, str.zfvq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov ecx, dword [esi + 0x50]
lea eax, str.zfvq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00421980
add esp, 8
and al, 1
mov byte [esi + 0x73], al
mov ecx, dword [esi + 0x50]
call fcn.00421a10
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
mov edx, eax
sub edx, 0xbea7541b
sub edx, 1
add edx, 0xbea7541b
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x779aec98
mov ecx, 0x68192927
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0xf416c736
jmp 0x40bf19
mov ecx, dword [esi + 0x4c]
call fcn.00421a10
mov dl, byte [esi + 0x73]
mov eax, 0xe420be42
mov ecx, 0xd53900a1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov eax, dword [esi + 0x54]
mov dword [eax], 1
mov dword [esi + 0x20], 0x44e66f5
jmp 0x40bf19
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x5d6d7e4a
mov ecx, 0x58b8b2a5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
mov edx, eax
sub edx, 0x22fbeba8
sub edx, 1
add edx, 0x22fbeba8
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x5d6d7e4a
mov ecx, 0x66e90290
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0x840a3fbd
jmp 0x40bf19
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov dword [esi + 0x20], 0x21d99503
jmp 0x40bf19
mov edx, dword [esi + 0x74]
mov eax, 0x7265d5c8
mov ecx, 0xf160689f
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0xfbfacc09
jmp 0x40bf19
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0x20], 0xf2f77a5a
jmp 0x40bf19
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
mov dword [esi + 0x20], 0x840a3fbd
jmp 0x40bf19
mov dword [esi + 0x20], 0xe420be42
jmp 0x40bf19
mov eax, dword [esi + 0x58]
mov dword [eax], 0x34
mov dword [esi + 0x20], 0x63fe0636
jmp 0x40bf19
mov dword [esi + 0x20], 0x984767f1
jmp 0x40bf19
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x7c], eax
mov dword [esi + 0x20], 0xe4137fea
jmp 0x40bf19
mov eax, dword [0x4445fc]
mov ecx, dword [0x4445f8]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xd15917d3
mov ecx, 0xaa56c690
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov eax, dword [esi + 0x7c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x83], al
mov ecx, dword [0x4445fc]
mov eax, dword [0x4445f8]
mov edx, ecx
add edx, 0xfd8ea7da
sub edx, 1
sub edx, 0xfd8ea7da
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xd15917d3
mov ecx, 0x9ad7c216
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dl, byte [esi + 0x83]
mov eax, 0x8ea9582c
mov ecx, 0xad054514
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x20], eax
jmp 0x40bf19
mov dword [esi + 0x20], 0x95c7a5e7
jmp 0x40bf19
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x84], eax
mov dword [esi + 0x20], 0x15279be
jmp 0x40bf19
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x84]
mov dword [eax], ecx
mov dword [esi + 0x20], 0x984767f1
jmp 0x40bf19
mov ecx, dword [esi + 0x3c]
call fcn.00421a10
mov dword [esi + 0x20], 0x25d44cdc
jmp 0x40bf19
mov ecx, dword [esi + 0x2c]
call fcn.00421a10
mov eax, 0xa393
mov dword [esi + 0xc], eax
mov ecx, dword [esi + 0x88]
xor ecx, ebp
call fcn.0042bf40
mov eax, dword [esi + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x20], 0xd488f5b
jmp 0x40bf19
mov ecx, dword [esi + 0x1c]
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 8], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 4], eax
mov eax, dword [esi + 0x28]
mov dword [eax], ecx
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x2c]
lea eax, str.wdvfcsqrajgehkmqtqczvomjgiofrabvxqmfftquntcebjjergyxwobplwionolydgayfwvjrfmycnlbgbwyaq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov edx, dword [esi]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov edi, dword [esi + 0x30]
vmovsd xmm0, qword [0x43b240]
vmovsd qword [edi], xmm0
mov edi, dword [esi + 0x34]
mov byte [edi], 0
mov edi, dword [esi + 0x38]
mov dword [edi], 0x3ed
vmovsd xmm0, qword [0x43b238]
vmovsd qword [edx], xmm0
vmovsd xmm0, qword [0x43b230]
vmovsd qword [eax], xmm0
lea eax, str.zfvq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov dword [esi + 0x20], 0xca3ca3a7
jmp 0x40bf19
mov eax, dword [esi + 0x40]
mov byte [eax], 0
mov eax, dword [esi + 0x44]
mov dword [eax], 0x38
mov dword [esi + 0x20], 0x7f5ef4c1
jmp 0x40bf19
mov dword [esi + 0x20], 0xe5f6f2f4
jmp 0x40bf19
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x64]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [esi + 0x20], 0x69348864
jmp 0x40bf19
mov dword [esi + 0x20], 0x9e92a3a
jmp 0x40bf19
mov eax, dword [esi + 0x48]
mov dword [esi + 0x20], 0xab17d266
jmp 0x40bf19
mov ecx, dword [esi + 0x4c]
lea eax, str.zfvq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov ecx, dword [esi + 0x50]
lea eax, str.zfvq
sub esp, 4
mov dword [esp], eax
call fcn.00421680
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00421980
add esp, 8
mov ecx, dword [esi + 0x50]
call fcn.00421a10
mov dword [esi + 0x20], 0x15aa476
jmp 0x40bf19
mov dword [esi + 0x20], 0x58b8b2a5
jmp 0x40bf19
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x20], 0xaa56c690
jmp 0x40ad61