Function at 0x401400
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 [0x436080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
add edx, 0xff760a45
sub edx, 1
sub edx, 0xff760a45
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], 0xc2f8b951
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], eax
sub eax, 0x82b80ffa
je 0x4028e4
jmp 0x40147a
mov eax, dword [esi + 0xc]
sub eax, 0x851ec9ed
je 0x401df0
jmp 0x40148d
mov eax, dword [esi + 0xc]
sub eax, 0x8ddb8cba
je 0x4024b9
jmp 0x4014a0
mov eax, dword [esi + 0xc]
sub eax, 0x8f3a3ad6
je 0x402921
jmp 0x4014b3
mov eax, dword [esi + 0xc]
sub eax, 0x8f40ef56
je 0x401d62
jmp 0x4014c6
mov eax, dword [esi + 0xc]
sub eax, 0x9880c284
je 0x401bf2
jmp 0x4014d9
mov eax, dword [esi + 0xc]
sub eax, 0x9e4e80c3
je 0x40268f
jmp 0x4014ec
mov eax, dword [esi + 0xc]
sub eax, 0xa2216413
je 0x4021bc
jmp 0x4014ff
mov eax, dword [esi + 0xc]
sub eax, 0xa33b1db2
je 0x402473
jmp 0x401512
mov eax, dword [esi + 0xc]
sub eax, 0xa51f6474
je 0x401ee2
jmp 0x401525
mov eax, dword [esi + 0xc]
sub eax, 0xa6113f28
je 0x401fb7
jmp 0x401538
mov eax, dword [esi + 0xc]
sub eax, 0xa8338a12
je 0x4028bd
jmp 0x40154b
mov eax, dword [esi + 0xc]
sub eax, 0xb4ed446d
je 0x401fec
jmp 0x40155e
mov eax, dword [esi + 0xc]
sub eax, 0xb6c1f79d
je 0x4026ca
jmp 0x401571
mov eax, dword [esi + 0xc]
sub eax, 0xc2588495
je 0x401cbd
jmp 0x401584
mov eax, dword [esi + 0xc]
sub eax, 0xc2f8b951
je 0x401a82
jmp 0x401597
mov eax, dword [esi + 0xc]
sub eax, 0xc3a8bd09
je 0x40295d
jmp 0x4015aa
mov eax, dword [esi + 0xc]
sub eax, 0xc40e1fe3
je 0x401cc9
jmp 0x4015bd
mov eax, dword [esi + 0xc]
sub eax, 0xc5d78e98
je 0x402858
jmp 0x4015d0
mov eax, dword [esi + 0xc]
sub eax, 0xc82d4fdb
je 0x4021c8
jmp 0x4015e3
mov eax, dword [esi + 0xc]
sub eax, 0xce339776
je 0x4024da
jmp 0x4015f6
mov eax, dword [esi + 0xc]
sub eax, 0xcfaacac1
je 0x4028d8
jmp 0x401609
mov eax, dword [esi + 0xc]
sub eax, 0xd1654d03
je 0x401e63
jmp 0x40161c
mov eax, dword [esi + 0xc]
sub eax, 0xd2cdf1c3
je 0x4022f7
jmp 0x40162f
mov eax, dword [esi + 0xc]
sub eax, 0xd4f033fb
je 0x4021e2
jmp 0x401642
mov eax, dword [esi + 0xc]
sub eax, 0xd94fd630
je 0x402710
jmp 0x401655
mov eax, dword [esi + 0xc]
sub eax, 0xda64d3e5
je 0x40292d
jmp 0x401668
mov eax, dword [esi + 0xc]
sub eax, 0xdd0b8612
je 0x4028b1
jmp 0x40167b
mov eax, dword [esi + 0xc]
sub eax, 0xe8146b24
je 0x401bb1
jmp 0x40168e
mov eax, dword [esi + 0xc]
sub eax, 0xea3fecef
je 0x4025b8
jmp 0x4016a1
mov eax, dword [esi + 0xc]
sub eax, 0xea82f9bd
je 0x402312
jmp 0x4016b4
mov eax, dword [esi + 0xc]
sub eax, 0xea8e6235
je 0x402812
jmp 0x4016c7
mov eax, dword [esi + 0xc]
sub eax, 0xf09270a6
je 0x402545
jmp 0x4016da
mov eax, dword [esi + 0xc]
sub eax, 0xf1de751a
je 0x402909
jmp 0x4016ed
mov eax, dword [esi + 0xc]
sub eax, 0xf260571a
je 0x4028c9
jmp 0x401700
mov eax, dword [esi + 0xc]
sub eax, 0xf37224f7
je 0x401f30
jmp 0x401713
mov eax, dword [esi + 0xc]
sub eax, 0xf3c03c32
je 0x40269b
jmp 0x401726
mov eax, dword [esi + 0xc]
sub eax, 0xfd1d2406
je 0x402421
jmp 0x401739
mov eax, dword [esi + 0xc]
sub eax, 0x6669028
je 0x402915
jmp 0x40174c
mov eax, dword [esi + 0xc]
sub eax, 0x702f2af
je 0x4020ea
jmp 0x40175f
mov eax, dword [esi + 0xc]
sub eax, 0x98c65af
je 0x4022dd
jmp 0x401772
mov eax, dword [esi + 0xc]
sub eax, 0xee8946a
je 0x401acd
jmp 0x401785
mov eax, dword [esi + 0xc]
sub eax, 0x1b9e0564
je 0x40219b
jmp 0x401798
mov eax, dword [esi + 0xc]
sub eax, 0x1c09fc32
je 0x4023ae
jmp 0x4017ab
mov eax, dword [esi + 0xc]
sub eax, 0x1cdd3e5f
je 0x402939
jmp 0x4017be
mov eax, dword [esi + 0xc]
sub eax, 0x1d91f2ef
je 0x402641
jmp 0x4017d1
mov eax, dword [esi + 0xc]
sub eax, 0x1fc06c05
je 0x402042
jmp 0x4017e4
mov eax, dword [esi + 0xc]
sub eax, 0x21b3b89a
je 0x401c38
jmp 0x4017f7
mov eax, dword [esi + 0xc]
sub eax, 0x2610f80d
je 0x4022bc
jmp 0x40180a
mov eax, dword [esi + 0xc]
sub eax, 0x26aa4a7a
je 0x401bbd
jmp 0x40181d
mov eax, dword [esi + 0xc]
sub eax, 0x26d3a68e
je 0x402793
jmp 0x401830
mov eax, dword [esi + 0xc]
sub eax, 0x292701f8
je 0x402893
jmp 0x401843
mov eax, dword [esi + 0xc]
sub eax, 0x300083db
je 0x4022d1
jmp 0x401856
mov eax, dword [esi + 0xc]
sub eax, 0x3130880c
je 0x402240
jmp 0x401869
mov eax, dword [esi + 0xc]
sub eax, 0x3407afb7
je 0x40279f
jmp 0x40187c
mov eax, dword [esi + 0xc]
sub eax, 0x373950a3
je 0x402343
jmp 0x40188f
mov eax, dword [esi + 0xc]
sub eax, 0x3a2059e6
je 0x402001
jmp 0x4018a2
mov eax, dword [esi + 0xc]
sub eax, 0x3ac5b4e1
je 0x402090
jmp 0x4018b5
mov eax, dword [esi + 0xc]
sub eax, 0x3ae0eebf
je 0x402138
jmp 0x4018c8
mov eax, dword [esi + 0xc]
sub eax, 0x3cf23e34
je 0x401fab
jmp 0x4018db
mov eax, dword [esi + 0xc]
sub eax, 0x4170a01d
je 0x4021fd
jmp 0x4018ee
mov eax, dword [esi + 0xc]
sub eax, 0x43cbaff0
je 0x40231e
jmp 0x401901
mov eax, dword [esi + 0xc]
sub eax, 0x449d7398
je 0x4026af
jmp 0x401914
mov eax, dword [esi + 0xc]
sub eax, 0x4b0345df
je 0x402209
jmp 0x401927
mov eax, dword [esi + 0xc]
sub eax, 0x4b48cdcc
je 0x401dd5
mov bl, byte [esi + 0x1e]
mov dh, byte [esi + 0x1f]
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, 0x67496ab3
mov ecx, 0xee8946a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
push eax
mov ecx, esp
push eax
mov eax, esp
sub esp, 0x18
mov ebx, esp
mov dword [esi + 0x20], ebx
sub esp, 8
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
mov dword [esi + 0x24], ebx
push eax
mov ebx, esp
mov dword [esi + 0x28], ebx
push eax
mov ebx, esp
mov dword [esi + 0x2c], ebx
push eax
mov ebx, esp
mov dword [esi + 0x30], ebx
push eax
mov ebx, esp
mov dword [esi + 0x34], ebx
push eax
mov ebx, esp
mov dword [esi + 0x38], ebx
sub esp, 0x18
mov ebx, esp
mov dword [esi + 0x3c], ebx
sub esp, 0x18
mov ebx, esp
mov dword [esi + 0x40], ebx
push eax
mov ebx, esp
mov dword [esi + 0x44], ebx
push eax
mov ebx, esp
mov dword [esi + 0x48], ebx
mov ebx, edi
add ebx, 0x14
mov dword [esi + 0x4c], ebx
add edi, 0x3c
mov dword [esi + 0x50], edi
mov dword [ecx], edx
mov dword [eax], 0x103
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xa09b06f5
sub edx, 1
add edx, 0xa09b06f5
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, 0x67496ab3
mov ecx, 0xe8146b24
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x26aa4a7a
jmp 0x402964
mov ecx, dword [esi + 0x20]
lea eax, str.htdwzyklpztodiupx
sub esp, 4
mov dword [esp], eax
call fcn.00417520
mov eax, dword [esi + 0x24]
vmovsd xmm0, qword [0x42f1b8]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x28]
mov byte [eax], 0
mov dword [esi + 0x18], 0x9880c284
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
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, 0x292701f8
mov ecx, 0x21b3b89a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov eax, dword [esi + 0x2c]
mov dword [eax], 0x1ad3
mov eax, dword [esi + 0x30]
mov dword [eax], 0x61
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xb6542bac
sub edx, 1
add edx, 0xb6542bac
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, 0x292701f8
mov ecx, 0xc2588495
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0xc40e1fe3
jmp 0x402964
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov dword [esi + 0x18], 0x52cc0030
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xb202987
sub edx, 1
add edx, 0xb202987
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, 0xdd0b8612
mov ecx, 0x4b48cdcc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0x17b18ac9
sub edx, 1
add edx, 0x17b18ac9
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, 0xa8338a12
mov ecx, 0xd1654d03
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xdc33e959
sub edx, 1
add edx, 0xdc33e959
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, 0xa8338a12
mov ecx, 0x64a51e3e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
add edx, 0xce9a04e3
sub edx, 1
sub edx, 0xce9a04e3
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, 0xf260571a
mov ecx, 0xf37224f7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0x88e1fc51
sub edx, 1
add edx, 0x88e1fc51
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, 0xf260571a
mov ecx, 0x3cf23e34
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0xa6113f28
jmp 0x402964
mov eax, dword [esi + 0x5c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x60], eax
mov dword [esi + 0x18], 0x5f4ec1d1
jmp 0x402964
mov eax, dword [esi + 0x34]
mov dword [eax], 0x3a
mov dword [esi + 0x18], 0x3a2059e6
jmp 0x402964
mov dword [esi + 0x18], 0x66be3948
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
add edx, 0xdcd9825c
sub edx, 1
sub edx, 0xdcd9825c
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, 0xcfaacac1
mov ecx, 0x3ac5b4e1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0x8563db77
sub edx, 1
add edx, 0x8563db77
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, 0xcfaacac1
mov ecx, 0x72a386d8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0x870d3901
sub edx, 1
add edx, 0x870d3901
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, 0x82b80ffa
mov ecx, 0x3ae0eebf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov eax, dword [esi + 0x34]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x34]
mov dword [eax], ecx
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
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, 0x82b80ffa
mov ecx, 0x735bb031
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x66be3948
jmp 0x402964
mov dword [esi + 0x18], 0xc82d4fdb
jmp 0x402964
mov eax, dword [esi + 0x38]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x67], al
mov dword [esi + 0x18], 0xd4f033fb
jmp 0x402964
mov dl, byte [esi + 0x67]
mov eax, 0x3130880c
mov ecx, 0x4170a01d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x4b0345df
jmp 0x402964
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov dword [esi + 0x18], 0x57767d41
jmp 0x402964
mov ecx, dword [esi + 0x3c]
lea eax, str.htdwzyklpztodiupx
sub esp, 4
mov dword [esp], eax
call fcn.00417520
mov ecx, dword [esi + 0x40]
lea eax, str.htdwzyklpztodiupx
sub esp, 4
mov dword [esp], eax
call fcn.00417520
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00417650
add esp, 8
and al, 1
mov byte [esi + 0x6e], al
mov ecx, dword [esi + 0x40]
call fcn.004175e0
mov ecx, dword [esi + 0x3c]
call fcn.004175e0
mov dword [esi + 0x18], 0x70ab4159
jmp 0x402964
mov eax, dword [esi + 0x44]
mov dword [eax], 0x2d
mov dword [esi + 0x18], 0x300083db
jmp 0x402964
mov dword [esi + 0x18], 0x98c65af
jmp 0x402964
mov eax, dword [esi + 0x44]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x6f], al
mov dword [esi + 0x18], 0xd2cdf1c3
jmp 0x402964
mov dl, byte [esi + 0x6f]
mov eax, 0x554f0dc5
mov ecx, 0xea82f9bd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x43cbaff0
jmp 0x402964
mov eax, dword [esi + 0x44]
mov ecx, dword [eax]
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], 0x373950a3
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
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, 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, 0xf1de751a
mov ecx, 0x1c09fc32
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0x85d82ab6
sub edx, 1
add edx, 0x85d82ab6
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, 0xf1de751a
mov ecx, 0xfd1d2406
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x98c65af
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
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, 0x6669028
mov ecx, 0x8ddb8cba
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x7bfc526d
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
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, 0x8f3a3ad6
mov ecx, 0xf09270a6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
add edx, 0x1ffde506
sub edx, 1
sub edx, 0x1ffde506
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, 0x8f3a3ad6
mov ecx, 0xea3fecef
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x75e78127
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0xacf7d9cf
sub edx, 1
add edx, 0xacf7d9cf
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, 0xda64d3e5
mov ecx, 0x9e4e80c3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0xf3c03c32
jmp 0x402964
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov dword [esi + 0x18], 0x449d7398
jmp 0x402964
mov ecx, dword [esi + 0x74]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x48]
mov dword [eax], ecx
mov dword [esi + 0x18], 0x75e78127
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
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, 0x1cdd3e5f
mov ecx, 0xd94fd630
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov ecx, dword [esi + 0x20]
call fcn.004175e0
mov ecx, dword [esi + 0x4c]
call fcn.004175e0
mov ecx, dword [esi + 0x50]
call fcn.004175e0
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
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, 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, 0x1cdd3e5f
mov ecx, 0x26d3a68e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov dword [esi + 0x18], 0x3407afb7
jmp 0x402964
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xc59c9587
sub edx, 1
add edx, 0xc59c9587
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, 0xc3a8bd09
mov ecx, 0xea8e6235
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
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, 0xc3a8bd09
mov ecx, 0xc5d78e98
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x18], eax
jmp 0x402964
fld dword [0x42f1b0]
fstp xword [esi]
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.004203b0
fld xword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x54
mov eax, dword [esi + 0x2c]
mov dword [eax], 0x1ad3
mov eax, dword [esi + 0x30]
mov dword [eax], 0x61
mov dword [esi + 0x18], 0x21b3b89a
jmp 0x402964
mov dword [esi + 0x18], 0x8f40ef56
jmp 0x402964
mov dword [esi + 0x18], 0xd1654d03
jmp 0x402964
mov eax, dword [esi + 0x30]
mov dword [esi + 0x18], 0xf37224f7
jmp 0x402964
mov dword [esi + 0x18], 0x3ac5b4e1
jmp 0x402964
mov eax, dword [esi + 0x34]
mov ecx, dword [eax]
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 + 0x34]
mov dword [eax], ecx
mov dword [esi + 0x18], 0x3ae0eebf
jmp 0x402964
mov dword [esi + 0x18], 0x1c09fc32
jmp 0x402964
mov dword [esi + 0x18], 0xa33b1db2
jmp 0x402964
mov dword [esi + 0x18], 0xf09270a6
jmp 0x402964
mov dword [esi + 0x18], 0x1d91f2ef
jmp 0x402964
mov ecx, dword [esi + 0x20]
call fcn.004175e0
mov ecx, dword [esi + 0x4c]
call fcn.004175e0
mov ecx, dword [esi + 0x50]
call fcn.004175e0
mov dword [esi + 0x18], 0xd94fd630
jmp 0x402964
mov dword [esi + 0x18], 0xea8e6235
jmp 0x401464