Function at 0x401730
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 [0x439080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov dword [esi + 0x1c], 0x37232a64
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], eax
sub eax, 0x82a233af
je 0x4021a1
jmp 0x401771
mov eax, dword [esi + 0xc]
sub eax, 0x868d03ac
je 0x4022cc
jmp 0x401784
mov eax, dword [esi + 0xc]
sub eax, 0x86ac2c79
je 0x402048
jmp 0x401797
mov eax, dword [esi + 0xc]
sub eax, 0x8e120cd6
je 0x40226b
jmp 0x4017aa
mov eax, dword [esi + 0xc]
sub eax, 0x91478fac
je 0x4025e7
jmp 0x4017bd
mov eax, dword [esi + 0xc]
sub eax, 0x91ab4378
je 0x4025a9
jmp 0x4017d0
mov eax, dword [esi + 0xc]
sub eax, 0x93544df4
je 0x4024fc
jmp 0x4017e3
mov eax, dword [esi + 0xc]
sub eax, 0x9a3206cf
je 0x401c6a
jmp 0x4017f6
mov eax, dword [esi + 0xc]
sub eax, 0x9c4d55ce
je 0x4025ff
jmp 0x401809
mov eax, dword [esi + 0xc]
sub eax, 0xa67c44df
je 0x40203c
jmp 0x40181c
mov eax, dword [esi + 0xc]
sub eax, 0xa9de8747
je 0x40251f
jmp 0x40182f
mov eax, dword [esi + 0xc]
sub eax, 0xae41e722
je 0x401ba0
jmp 0x401842
mov eax, dword [esi + 0xc]
sub eax, 0xb1fcfdc7
je 0x402594
jmp 0x401855
mov eax, dword [esi + 0xc]
sub eax, 0xb28bfd14
je 0x40212e
jmp 0x401868
mov eax, dword [esi + 0xc]
sub eax, 0xb2a4e60f
je 0x401e39
jmp 0x40187b
mov eax, dword [esi + 0xc]
sub eax, 0xb320a375
je 0x402122
jmp 0x40188e
mov eax, dword [esi + 0xc]
sub eax, 0xb8214354
je 0x401d52
jmp 0x4018a1
mov eax, dword [esi + 0xc]
sub eax, 0xbd4b8067
je 0x4025d2
jmp 0x4018b4
mov eax, dword [esi + 0xc]
sub eax, 0xc8dd9778
je 0x4024e8
jmp 0x4018c7
mov eax, dword [esi + 0xc]
sub eax, 0xd2060ab1
je 0x401ef3
jmp 0x4018da
mov eax, dword [esi + 0xc]
sub eax, 0xd3d024b9
je 0x402461
jmp 0x4018ed
mov eax, dword [esi + 0xc]
sub eax, 0xd928366b
je 0x40233f
jmp 0x401900
mov eax, dword [esi + 0xc]
sub eax, 0xda055db7
je 0x402060
jmp 0x401913
mov eax, dword [esi + 0xc]
sub eax, 0xdad030ac
je 0x4025f3
jmp 0x401926
mov eax, dword [esi + 0xc]
sub eax, 0xe88ac049
je 0x4023e2
jmp 0x401939
mov eax, dword [esi + 0xc]
sub eax, 0xffb7aba4
je 0x402215
jmp 0x40194c
mov eax, dword [esi + 0xc]
sub eax, 0x1f3e44a
je 0x4023ee
jmp 0x40195f
mov eax, dword [esi + 0xc]
sub eax, 0x56bbf9b
je 0x401e45
jmp 0x401972
mov eax, dword [esi + 0xc]
sub eax, 0x95eb4f6
je 0x402230
jmp 0x401985
mov eax, dword [esi + 0xc]
sub eax, 0x113bc4d0
je 0x40223c
jmp 0x401998
mov eax, dword [esi + 0xc]
sub eax, 0x16254629
je 0x4021ef
jmp 0x4019ab
mov eax, dword [esi + 0xc]
sub eax, 0x1ba3836b
je 0x402054
jmp 0x4019be
mov eax, dword [esi + 0xc]
sub eax, 0x1eeffc1e
je 0x40252b
jmp 0x4019d1
mov eax, dword [esi + 0xc]
sub eax, 0x1fd480b1
je 0x402588
jmp 0x4019e4
mov eax, dword [esi + 0xc]
sub eax, 0x20f71b25
je 0x401e65
jmp 0x4019f7
mov eax, dword [esi + 0xc]
sub eax, 0x253c45c1
je 0x4024b5
jmp 0x401a0a
mov eax, dword [esi + 0xc]
sub eax, 0x30d79e0e
je 0x401fd5
jmp 0x401a1d
mov eax, dword [esi + 0xc]
sub eax, 0x3629fa9b
je 0x4024dc
jmp 0x401a30
mov eax, dword [esi + 0xc]
sub eax, 0x37232a64
je 0x401b52
jmp 0x401a43
mov eax, dword [esi + 0xc]
sub eax, 0x401be493
je 0x40255f
jmp 0x401a56
mov eax, dword [esi + 0xc]
sub eax, 0x447cd4d7
je 0x4023b2
jmp 0x401a69
mov eax, dword [esi + 0xc]
sub eax, 0x528d9b42
je 0x401f5e
jmp 0x401a7c
mov eax, dword [esi + 0xc]
sub eax, 0x5bec1c34
je 0x4024c1
jmp 0x401a8f
mov eax, dword [esi + 0xc]
sub eax, 0x5e79755e
je 0x402250
jmp 0x401aa2
mov eax, dword [esi + 0xc]
sub eax, 0x602bb96c
je 0x4023cd
jmp 0x401ab5
mov eax, dword [esi + 0xc]
sub eax, 0x61228f1d
je 0x4025b5
jmp 0x401ac8
mov eax, dword [esi + 0xc]
sub eax, 0x65e8ddeb
je 0x401e51
jmp 0x401adb
mov eax, dword [esi + 0xc]
sub eax, 0x6a1717e4
je 0x4020ae
jmp 0x401aee
mov eax, dword [esi + 0xc]
sub eax, 0x6a7d3800
je 0x401c76
jmp 0x401b01
mov eax, dword [esi + 0xc]
sub eax, 0x7a9a6a8d
je 0x401e80
jmp 0x401b14
mov eax, dword [esi + 0xc]
sub eax, 0x7c9566c7
je 0x401f6a
jmp 0x401b27
mov eax, dword [esi + 0xc]
sub eax, 0x7df3d0d9
je 0x401dbd
jmp 0x401b3a
mov eax, dword [esi + 0xc]
sub eax, 0x7fcab407
je 0x4021fb
jmp 0x401b4d
jmp 0x402609
mov eax, dword [0x43a5b4]
mov ecx, dword [0x43a5b0]
mov edx, eax
add edx, 0x8781c49c
sub edx, 1
sub edx, 0x8781c49c
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, 0x1fd480b1
mov ecx, 0xae41e722
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x24], eax
push eax
mov eax, esp
mov dword [esi + 0x28], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x2c], eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 0x18
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
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x4c], eax
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
mov edx, ecx
sub edx, 0x4dd00fab
sub edx, 1
add edx, 0x4dd00fab
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, 0x1fd480b1
mov ecx, 0x9a3206cf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0x6a7d3800
jmp 0x402609
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
push eax
mov edx, esp
mov dword [esi + 0x50], edx
mov dword [esi + 0x54], ecx
mov edx, ecx
add edx, 0x20
mov dword [esi + 0x58], edx
mov edx, ecx
add edx, 0x44
mov dword [esi + 0x5c], edx
add ecx, 0x5c
mov dword [esi + 0x60], ecx
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x24]
lea eax, str.uxceqyhmxxttokvbnpyysyrsszpvaookkjqqkhsnrlzibpdilidipiqo
sub esp, 4
mov dword [esp], eax
call fcn.00416f00
mov eax, dword [esi + 0x28]
mov dword [eax], 0x2a2
mov eax, dword [esi + 0x2c]
vmovsd xmm0, qword [0x4311c0]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x30]
lea eax, str.eafgiwy
sub esp, 4
mov dword [esp], eax
call fcn.00416f00
mov eax, dword [esi + 0x34]
mov byte [eax], 1
mov ecx, dword [esi + 0x38]
lea eax, str.eafgiwy
sub esp, 4
mov dword [esp], eax
call fcn.00416f00
mov ecx, dword [esi + 0x3c]
lea eax, str.eafgiwy
sub esp, 4
mov dword [esp], eax
call fcn.00416f00
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00417160
add esp, 8
mov byte [esi + 0xb], al
mov ecx, dword [esi + 0x3c]
call fcn.004170f0
mov ecx, dword [esi + 0x38]
call fcn.004170f0
mov dl, byte [esi + 0xb]
mov eax, 0xda055db7
mov ecx, 0xb8214354
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
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, 0xb1fcfdc7
mov ecx, 0x7df3d0d9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov eax, dword [esi + 0x40]
mov dword [eax], 0x5c
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
mov edx, ecx
add edx, 0x61d2e3f6
sub edx, 1
sub edx, 0x61d2e3f6
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, 0xb1fcfdc7
mov ecx, 0xb2a4e60f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0x56bbf9b
jmp 0x402609
mov dword [esi + 0x1c], 0x65e8ddeb
jmp 0x402609
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov dword [esi + 0x1c], 0x20f71b25
jmp 0x402609
mov edx, dword [esi + 0x64]
mov eax, 0x1ba3836b
mov ecx, 0x7a9a6a8d
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
mov edx, ecx
add edx, 0x1263a324
sub edx, 1
sub edx, 0x1263a324
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, 0x91ab4378
mov ecx, 0xd2060ab1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
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, 0x91ab4378
mov ecx, 0x528d9b42
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0x7c9566c7
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
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, 0x61228f1d
mov ecx, 0x30d79e0e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov eax, dword [esi + 0x40]
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 + 0x40]
mov dword [eax], ecx
mov eax, dword [0x43a5b4]
mov ecx, dword [0x43a5b0]
mov edx, eax
add edx, 0x8c0a7a78
sub edx, 1
sub edx, 0x8c0a7a78
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, 0x61228f1d
mov ecx, 0xa67c44df
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0x86ac2c79
jmp 0x402609
mov dword [esi + 0x1c], 0x65e8ddeb
jmp 0x402609
mov dword [esi + 0x1c], 0xda055db7
jmp 0x402609
mov eax, dword [0x43a5b4]
mov ecx, dword [0x43a5b0]
mov edx, eax
add edx, 0x9473ee0a
sub edx, 1
sub edx, 0x9473ee0a
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, 0xbd4b8067
mov ecx, 0x6a1717e4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov eax, dword [esi + 0x44]
mov dword [eax], 0x1f
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
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, 0xbd4b8067
mov ecx, 0xb320a375
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0xb28bfd14
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
mov edx, ecx
sub edx, 0x2c31f8da
sub edx, 1
add edx, 0x2c31f8da
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, 0x91478fac
mov ecx, 0x82a233af
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov eax, dword [0x43a5b4]
mov ecx, dword [0x43a5b0]
mov edx, eax
add edx, 0xf8082f69
sub edx, 1
sub edx, 0xf8082f69
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, 0x91478fac
mov ecx, 0x16254629
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0x7fcab407
jmp 0x402609
mov eax, dword [esi + 0x44]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x6b], al
mov dword [esi + 0x1c], 0xffb7aba4
jmp 0x402609
mov dl, byte [esi + 0x6b]
mov eax, 0x8e120cd6
mov ecx, 0x95eb4f6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0x113bc4d0
jmp 0x402609
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x1c], 0x5e79755e
jmp 0x402609
mov ecx, dword [esi + 0x6c]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x7fcab407
jmp 0x402609
mov ecx, dword [esi + 0x48]
lea eax, str.uxceqyhmxxttokvbnpyysyrsszpvaookkjqqkhsnrlzibpdilidipiqo
sub esp, 4
mov dword [esp], eax
call fcn.00416f00
mov ecx, dword [esi + 0x4c]
lea eax, str.uxceqyhmxxttokvbnpyysyrsszpvaookkjqqkhsnrlzibpdilidipiqo
sub esp, 4
mov dword [esp], eax
call fcn.00416f00
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00417200
add esp, 8
and al, 1
mov byte [esi + 0x72], al
mov ecx, dword [esi + 0x4c]
call fcn.004170f0
mov ecx, dword [esi + 0x48]
call fcn.004170f0
mov dword [esi + 0x1c], 0x868d03ac
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
mov edx, ecx
add edx, 0x52809a03
sub edx, 1
sub edx, 0x52809a03
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, 0xdad030ac
mov ecx, 0xd928366b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
mov edx, ecx
add edx, 0x1d0f6190
sub edx, 1
sub edx, 0x1d0f6190
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, 0xdad030ac
mov ecx, 0x447cd4d7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dl, byte [esi + 0x72]
mov eax, 0x1eeffc1e
mov ecx, 0x602bb96c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov eax, dword [esi + 0x50]
mov dword [eax], 0x58
mov dword [esi + 0x1c], 0xe88ac049
jmp 0x402609
mov dword [esi + 0x1c], 0x1f3e44a
jmp 0x402609
mov ecx, dword [0x43a5b4]
mov eax, dword [0x43a5b0]
mov edx, ecx
add edx, 0x9efaef8f
sub edx, 1
sub edx, 0x9efaef8f
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, 0x9c4d55ce
mov ecx, 0xd3d024b9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov eax, dword [esi + 0x50]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x73], al
mov eax, dword [0x43a5b4]
mov ecx, dword [0x43a5b0]
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, 0x9c4d55ce
mov ecx, 0x253c45c1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0x5bec1c34
jmp 0x402609
mov dl, byte [esi + 0x73]
mov eax, 0xa9de8747
mov ecx, 0x3629fa9b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x402609
mov dword [esi + 0x1c], 0xc8dd9778
jmp 0x402609
mov eax, dword [esi + 0x50]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov dword [esi + 0x1c], 0x93544df4
jmp 0x402609
mov ecx, dword [esi + 0x74]
add ecx, 0xf9996b12
add ecx, 0xffffffff
sub ecx, 0xf9996b12
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x1f3e44a
jmp 0x402609
mov dword [esi + 0x1c], 0x1eeffc1e
jmp 0x402609
mov ecx, dword [esi + 0x30]
call fcn.004170f0
mov ecx, dword [esi + 0x24]
call fcn.004170f0
mov ecx, dword [esi + 0x54]
call fcn.004170f0
mov ecx, dword [esi + 0x58]
call fcn.004170f0
mov ecx, dword [esi + 0x5c]
call fcn.004170f0
mov dword [esi + 0x1c], 0x401be493
jmp 0x402609
mov ecx, dword [esi + 0x60]
call fcn.004170f0
mov al, 1
and al, 1
movzx eax, al
mov dword [esi + 4], eax
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.00422090
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x7c
mov dword [esi + 0x1c], 0xae41e722
jmp 0x402609
mov eax, dword [esi + 0x40]
mov dword [eax], 0x5c
mov dword [esi + 0x1c], 0x7df3d0d9
jmp 0x402609
mov dword [esi + 0x1c], 0xd2060ab1
jmp 0x402609
mov eax, dword [esi + 0x40]
mov ecx, dword [eax]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x30d79e0e
jmp 0x402609
mov eax, dword [esi + 0x44]
mov dword [eax], 0x1f
mov dword [esi + 0x1c], 0x6a1717e4
jmp 0x402609
mov dword [esi + 0x1c], 0x82a233af
jmp 0x402609
mov dword [esi + 0x1c], 0xd928366b
jmp 0x402609
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], 0xd3d024b9
jmp 0x40175b