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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, esp
mov dword [esi + 0x10], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x14], eax
mov eax, dword [0x440080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x1e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x1f], al
mov dword [esi + 0x18], 0xa5f41e76
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], eax
sub eax, 0x8124fb64
je 0x4094e3
jmp 0x4088e2
mov eax, dword [esi + 0xc]
sub eax, 0x81fb6100
je 0x409623
jmp 0x4088f5
mov eax, dword [esi + 0xc]
sub eax, 0x8a727d22
je 0x409468
jmp 0x408908
mov eax, dword [esi + 0xc]
sub eax, 0x97701049
je 0x4094d7
jmp 0x40891b
mov eax, dword [esi + 0xc]
sub eax, 0x9d36fea8
je 0x409609
jmp 0x40892e
mov eax, dword [esi + 0xc]
sub eax, 0x9ef3e7fc
je 0x4097ac
jmp 0x408941
mov eax, dword [esi + 0xc]
sub eax, 0xa1b13b71
je 0x4097fa
jmp 0x408954
mov eax, dword [esi + 0xc]
sub eax, 0xa5f41e76
je 0x408d81
jmp 0x408967
mov eax, dword [esi + 0xc]
sub eax, 0xad767751
je 0x4093fa
jmp 0x40897a
mov eax, dword [esi + 0xc]
sub eax, 0xb33c1ce4
je 0x409102
jmp 0x40898d
mov eax, dword [esi + 0xc]
sub eax, 0xb50278a6
je 0x40975d
jmp 0x4089a0
mov eax, dword [esi + 0xc]
sub eax, 0xb74d243d
je 0x40972e
jmp 0x4089b3
mov eax, dword [esi + 0xc]
sub eax, 0xbdb8c0e6
je 0x409722
jmp 0x4089c6
mov eax, dword [esi + 0xc]
sub eax, 0xbea9c411
je 0x409809
jmp 0x4089d9
mov eax, dword [esi + 0xc]
sub eax, 0xc50df622
je 0x4095f1
jmp 0x4089ec
mov eax, dword [esi + 0xc]
sub eax, 0xc52d766b
je 0x409207
jmp 0x4089ff
mov eax, dword [esi + 0xc]
sub eax, 0xc952328f
je 0x40938f
jmp 0x408a12
mov eax, dword [esi + 0xc]
sub eax, 0xd08939f0
je 0x409305
jmp 0x408a25
mov eax, dword [esi + 0xc]
sub eax, 0xd36a090e
je 0x40910e
jmp 0x408a38
mov eax, dword [esi + 0xc]
sub eax, 0xd3efa69c
je 0x40983c
jmp 0x408a4b
mov eax, dword [esi + 0xc]
sub eax, 0xf1a3da6a
je 0x409272
jmp 0x408a5e
mov eax, dword [esi + 0xc]
sub eax, 0x26614a0
je 0x40964a
jmp 0x408a71
mov eax, dword [esi + 0xc]
sub eax, 0x6afdc9a
je 0x4097d6
jmp 0x408a84
mov eax, dword [esi + 0xc]
sub eax, 0x7b4c083
je 0x409830
jmp 0x408a97
mov eax, dword [esi + 0xc]
sub eax, 0xce006c3
je 0x4096ea
jmp 0x408aaa
mov eax, dword [esi + 0xc]
sub eax, 0x1138545a
je 0x408e3d
jmp 0x408abd
mov eax, dword [esi + 0xc]
sub eax, 0x1169a049
je 0x40970d
jmp 0x408ad0
mov eax, dword [esi + 0xc]
sub eax, 0x126e45e9
je 0x4094bc
jmp 0x408ae3
mov eax, dword [esi + 0xc]
sub eax, 0x15ca2fc0
je 0x408e49
jmp 0x408af6
mov eax, dword [esi + 0xc]
sub eax, 0x1abaa9bc
je 0x409349
jmp 0x408b09
mov eax, dword [esi + 0xc]
sub eax, 0x1b9953ef
je 0x409512
jmp 0x408b1c
mov eax, dword [esi + 0xc]
sub eax, 0x1f58ae19
je 0x409742
jmp 0x408b2f
mov eax, dword [esi + 0xc]
sub eax, 0x20a1223d
je 0x4095fd
jmp 0x408b42
mov eax, dword [esi + 0xc]
sub eax, 0x2162d056
je 0x409818
jmp 0x408b55
mov eax, dword [esi + 0xc]
sub eax, 0x25dc0546
je 0x4097ca
jmp 0x408b68
mov eax, dword [esi + 0xc]
sub eax, 0x28c56bd8
je 0x408f76
jmp 0x408b7b
mov eax, dword [esi + 0xc]
sub eax, 0x2dd2792c
je 0x409334
jmp 0x408b8e
mov eax, dword [esi + 0xc]
sub eax, 0x2f4a4b8d
je 0x408fbc
jmp 0x408ba1
mov eax, dword [esi + 0xc]
sub eax, 0x32e84353
je 0x408f6a
jmp 0x408bb4
mov eax, dword [esi + 0xc]
sub eax, 0x34247214
je 0x40963e
jmp 0x408bc7
mov eax, dword [esi + 0xc]
sub eax, 0x367bf7f5
je 0x408e99
jmp 0x408bda
mov eax, dword [esi + 0xc]
sub eax, 0x3910874c
je 0x40984b
jmp 0x408bed
mov eax, dword [esi + 0xc]
sub eax, 0x3ac61c23
je 0x409860
jmp 0x408c00
mov eax, dword [esi + 0xc]
sub eax, 0x3bdb2e13
je 0x409690
jmp 0x408c13
mov eax, dword [esi + 0xc]
sub eax, 0x40e5511e
je 0x4096de
jmp 0x408c26
mov eax, dword [esi + 0xc]
sub eax, 0x423895a1
je 0x40941a
jmp 0x408c39
mov eax, dword [esi + 0xc]
sub eax, 0x45097f70
je 0x4094fe
jmp 0x408c4c
mov eax, dword [esi + 0xc]
sub eax, 0x4578a015
je 0x4091ec
jmp 0x408c5f
mov eax, dword [esi + 0xc]
sub eax, 0x484018f3
je 0x409328
jmp 0x408c72
mov eax, dword [esi + 0xc]
sub eax, 0x4ace837c
je 0x408ee7
jmp 0x408c85
mov eax, dword [esi + 0xc]
sub eax, 0x4f9633ed
je 0x409798
jmp 0x408c98
mov eax, dword [esi + 0xc]
sub eax, 0x50b1caab
je 0x409179
jmp 0x408cab
mov eax, dword [esi + 0xc]
sub eax, 0x51b4b216
je 0x4090ae
jmp 0x408cbe
mov eax, dword [esi + 0xc]
sub eax, 0x53de2338
je 0x4092e5
jmp 0x408cd1
mov eax, dword [esi + 0xc]
sub eax, 0x58a2e9c5
je 0x409824
jmp 0x408ce4
mov eax, dword [esi + 0xc]
sub eax, 0x5ae8fe63
je 0x409406
jmp 0x408cf7
mov eax, dword [esi + 0xc]
sub eax, 0x5e1ff45d
je 0x409784
jmp 0x408d0a
mov eax, dword [esi + 0xc]
sub eax, 0x5efb70ae
je 0x409769
jmp 0x408d1d
mov eax, dword [esi + 0xc]
sub eax, 0x640e91dd
je 0x40902f
jmp 0x408d30
mov eax, dword [esi + 0xc]
sub eax, 0x668906cd
je 0x4092f1
jmp 0x408d43
mov eax, dword [esi + 0xc]
sub eax, 0x68781099
je 0x40957d
jmp 0x408d56
mov eax, dword [esi + 0xc]
sub eax, 0x68f53288
je 0x40903b
jmp 0x408d69
mov eax, dword [esi + 0xc]
sub eax, 0x693e1500
je 0x408da7
jmp 0x408d7c
jmp 0x40986a
mov al, byte [esi + 0x1e]
mov cl, byte [esi + 0x1f]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x25dc0546
mov ecx, 0x693e1500
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
push eax
mov eax, esp
mov dword [esi + 0x20], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
push eax
mov eax, esp
mov dword [esi + 0x2c], eax
push eax
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x38], eax
push eax
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
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
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, 0x25dc0546
mov ecx, 0x1138545a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x15ca2fc0
jmp 0x40986a
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
add eax, 0x14
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x20]
mov dword [eax], ecx
mov eax, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
vmovsd xmm0, qword [0x4382b0]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x28]
mov byte [eax], 0
mov eax, dword [esi + 0x2c]
mov dword [eax], 0x7a8
mov eax, dword [esi + 0x30]
mov dword [eax], 0x1147
mov eax, dword [esi + 0x34]
mov dword [eax], 0x1e94
mov dword [esi + 0x18], 0x367bf7f5
jmp 0x40986a
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
mov edx, eax
add edx, 0x6df9c00c
sub edx, 1
sub edx, 0x6df9c00c
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, 0x6afdc9a
mov ecx, 0x4ace837c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov eax, dword [esi + 0x38]
vmovsd xmm0, qword [0x4382a0]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x25
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x6afdc9a
mov ecx, 0x32e84353
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x28c56bd8
jmp 0x40986a
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
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, 0xa1b13b71
mov ecx, 0x2f4a4b8d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov dword [esi + 0x50], eax
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0xa1b13b71
mov ecx, 0x640e91dd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x68f53288
jmp 0x40986a
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
mov edx, ecx
add edx, 0x48a6e13f
sub edx, 1
sub edx, 0x48a6e13f
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, 0xbea9c411
mov ecx, 0x51b4b216
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov eax, dword [esi + 0x50]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x57], al
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
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, 0xbea9c411
mov ecx, 0xb33c1ce4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0xd36a090e
jmp 0x40986a
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x2162d056
mov ecx, 0x50b1caab
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
mov edx, ecx
add edx, 0x1b4dad7b
sub edx, 1
sub edx, 0x1b4dad7b
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, 0x2162d056
mov ecx, 0x4578a015
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dl, byte [esi + 0x57]
mov eax, 0x2dd2792c
mov ecx, 0xc52d766b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x58a2e9c5
mov ecx, 0xf1a3da6a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
mov edx, ecx
add edx, 0xe243f8a6
sub edx, 1
sub edx, 0xe243f8a6
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, 0x58a2e9c5
mov ecx, 0x53de2338
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x668906cd
jmp 0x40986a
mov eax, dword [esi + 0x3c]
mov eax, dword [eax]
mov dword [esi + 0x58], eax
mov dword [esi + 0x18], 0xd08939f0
jmp 0x40986a
mov ecx, dword [esi + 0x58]
sub ecx, 0xc5254ad9
add ecx, 0xffffffff
add ecx, 0xc5254ad9
mov eax, dword [esi + 0x3c]
mov dword [eax], ecx
mov dword [esi + 0x18], 0x484018f3
jmp 0x40986a
mov dword [esi + 0x18], 0x28c56bd8
jmp 0x40986a
mov eax, dword [esi + 0x40]
mov dword [eax], 0x2b
mov dword [esi + 0x18], 0x1abaa9bc
jmp 0x40986a
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
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, 0x7b4c083
mov ecx, 0xc952328f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x7b4c083
mov ecx, 0xad767751
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x5ae8fe63
jmp 0x40986a
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x18], 0x423895a1
jmp 0x40986a
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
mov edx, eax
add edx, 0xeb76371a
sub edx, 1
sub edx, 0xeb76371a
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, 0xd3efa69c
mov ecx, 0x8a727d22
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov eax, dword [esi + 0x5c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x63], al
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
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, 0xd3efa69c
mov ecx, 0x126e45e9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dl, byte [esi + 0x63]
mov eax, 0x1b9953ef
mov ecx, 0x97701049
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x8124fb64
jmp 0x40986a
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x64], eax
mov dword [esi + 0x18], 0x45097f70
jmp 0x40986a
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov dword [esi + 0x18], 0x5ae8fe63
jmp 0x40986a
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x3910874c
mov ecx, 0x68781099
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov eax, dword [esi + 0x44]
mov dword [eax], 0x45
mov ecx, dword [0x4415bc]
mov eax, dword [0x4415b8]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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, 0x3910874c
mov ecx, 0xc50df622
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x20a1223d
jmp 0x40986a
mov dword [esi + 0x18], 0x9d36fea8
jmp 0x40986a
mov eax, dword [esi + 0x44]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x6b], al
mov dword [esi + 0x18], 0x81fb6100
jmp 0x40986a
mov dl, byte [esi + 0x6b]
mov eax, 0x1169a049
mov ecx, 0x34247214
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x26614a0
jmp 0x40986a
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
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, 0x3ac61c23
mov ecx, 0x3bdb2e13
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [0x4415bc]
mov ecx, dword [0x4415b8]
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, 0x3ac61c23
mov ecx, 0x40e5511e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0xce006c3
jmp 0x40986a
mov ecx, dword [esi + 0x6c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [esi + 0x18], 0x9d36fea8
jmp 0x40986a
mov eax, dword [esi + 0x48]
mov dword [eax], 0xa
mov dword [esi + 0x18], 0xbdb8c0e6
jmp 0x40986a
mov dword [esi + 0x18], 0xb74d243d
jmp 0x40986a
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov dword [esi + 0x18], 0x1f58ae19
jmp 0x40986a
mov edx, dword [esi + 0x70]
mov eax, 0x4f9633ed
mov ecx, 0xb50278a6
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x18], eax
jmp 0x40986a
mov dword [esi + 0x18], 0x5efb70ae
jmp 0x40986a
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x74], eax
mov dword [esi + 0x18], 0x5e1ff45d
jmp 0x40986a
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x74]
mov dword [eax], ecx
mov dword [esi + 0x18], 0xb74d243d
jmp 0x40986a
mov ecx, dword [esi + 0x4c]
call fcn.0041eaa0
mov dword [esi + 0x18], 0x9ef3e7fc
jmp 0x40986a
fld dword [0x4382a8]
fstp xword [esi]
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.00429290
fld xword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x48
mov dword [esi + 0x18], 0x693e1500
jmp 0x40986a
mov eax, dword [esi + 0x38]
vmovsd xmm0, qword [0x4382a0]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x25
mov dword [esi + 0x18], 0x4ace837c
jmp 0x40986a
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x18], 0x2f4a4b8d
jmp 0x40986a
mov eax, dword [esi + 0x50]
mov dword [esi + 0x18], 0x51b4b216
jmp 0x40986a
mov dword [esi + 0x18], 0x50b1caab
jmp 0x40986a
mov dword [esi + 0x18], 0xf1a3da6a
jmp 0x40986a
mov dword [esi + 0x18], 0xc952328f
jmp 0x40986a
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x18], 0x8a727d22
jmp 0x40986a
mov eax, dword [esi + 0x44]
mov dword [eax], 0x45
mov dword [esi + 0x18], 0x68781099
jmp 0x40986a
mov eax, dword [esi + 0x44]
mov dword [esi + 0x18], 0x3bdb2e13
jmp 0x4088cc