Function at 0x40a570
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 + 0x20], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x24], eax
mov eax, dword [0x4e0080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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 + 0x32], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x33], al
mov dword [esi + 0x2c], 0xaf12429
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1c], eax
sub eax, 0x874c98fe
je 0x40ab77
jmp 0x40a5e2
mov eax, dword [esi + 0x1c]
sub eax, 0x8a0573e2
je 0x40b8cb
jmp 0x40a5f5
mov eax, dword [esi + 0x1c]
sub eax, 0x8a86b1e6
je 0x40b542
jmp 0x40a608
mov eax, dword [esi + 0x1c]
sub eax, 0x8bff54ef
je 0x40b853
jmp 0x40a61b
mov eax, dword [esi + 0x1c]
sub eax, 0x902c6281
je 0x40b5c9
jmp 0x40a62e
mov eax, dword [esi + 0x1c]
sub eax, 0x93927de3
je 0x40af82
jmp 0x40a641
mov eax, dword [esi + 0x1c]
sub eax, 0x97e7de0a
je 0x40b11a
jmp 0x40a654
mov eax, dword [esi + 0x1c]
sub eax, 0x9e7e75d6
je 0x40aec7
jmp 0x40a667
mov eax, dword [esi + 0x1c]
sub eax, 0xa4e72403
je 0x40b19a
jmp 0x40a67a
mov eax, dword [esi + 0x1c]
sub eax, 0xa81f4363
je 0x40b205
jmp 0x40a68d
mov eax, dword [esi + 0x1c]
sub eax, 0xaeebe774
je 0x40b71e
jmp 0x40a6a0
mov eax, dword [esi + 0x1c]
sub eax, 0xaf5d6c59
je 0x40ae00
jmp 0x40a6b3
mov eax, dword [esi + 0x1c]
sub eax, 0xc346a9d1
je 0x40b778
jmp 0x40a6c6
mov eax, dword [esi + 0x1c]
sub eax, 0xc37b70f2
je 0x40b2ef
jmp 0x40a6d9
mov eax, dword [esi + 0x1c]
sub eax, 0xc6468485
je 0x40b880
jmp 0x40a6ec
mov eax, dword [esi + 0x1c]
sub eax, 0xca33c9ff
je 0x40b829
jmp 0x40a6ff
mov eax, dword [esi + 0x1c]
sub eax, 0xcd03e5c9
je 0x40b536
jmp 0x40a712
mov eax, dword [esi + 0x1c]
sub eax, 0xd36ba287
je 0x40b85f
jmp 0x40a725
mov eax, dword [esi + 0x1c]
sub eax, 0xd81b35e7
je 0x40b7be
jmp 0x40a738
mov eax, dword [esi + 0x1c]
sub eax, 0xdab30839
je 0x40ac3a
jmp 0x40a74b
mov eax, dword [esi + 0x1c]
sub eax, 0xdc21f9de
je 0x40af67
jmp 0x40a75e
mov eax, dword [esi + 0x1c]
sub eax, 0xdcb4e7db
je 0x40b72a
jmp 0x40a771
mov eax, dword [esi + 0x1c]
sub eax, 0xe5747052
je 0x40b36e
jmp 0x40a784
mov eax, dword [esi + 0x1c]
sub eax, 0xe66d0a73
je 0x40b89b
jmp 0x40a797
mov eax, dword [esi + 0x1c]
sub eax, 0xea30da5f
je 0x40b3fc
jmp 0x40a7aa
mov eax, dword [esi + 0x1c]
sub eax, 0xebf0a6ec
je 0x40b86b
jmp 0x40a7bd
mov eax, dword [esi + 0x1c]
sub eax, 0xec6d4d12
je 0x40b284
jmp 0x40a7d0
mov eax, dword [esi + 0x1c]
sub eax, 0xf0210fce
je 0x40b278
jmp 0x40a7e3
mov eax, dword [esi + 0x1c]
sub eax, 0xf0f9e845
je 0x40b8a7
jmp 0x40a7f6
mov eax, dword [esi + 0x1c]
sub eax, 0xf61d2551
je 0x40af21
jmp 0x40a809
mov eax, dword [esi + 0x1c]
sub eax, 0xf87fa1dd
je 0x40b556
jmp 0x40a81c
mov eax, dword [esi + 0x1c]
sub eax, 0xf938d95c
je 0x40b844
jmp 0x40a82f
mov eax, dword [esi + 0x1c]
sub eax, 0xfafb5481
je 0x40b8f0
jmp 0x40a842
mov eax, dword [esi + 0x1c]
sub eax, 0xff35e133
je 0x40ab06
jmp 0x40a855
mov eax, dword [esi + 0x1c]
sub eax, 0xaafa6db
je 0x40b362
jmp 0x40a868
mov eax, dword [esi + 0x1c]
sub eax, 0xaf12429
je 0x40aae0
jmp 0x40a87b
mov eax, dword [esi + 0x1c]
sub eax, 0xf3129a5
je 0x40b625
jmp 0x40a88e
mov eax, dword [esi + 0x1c]
sub eax, 0x122b9f62
je 0x40abc9
jmp 0x40a8a1
mov eax, dword [esi + 0x1c]
sub eax, 0x1240ebed
je 0x40b030
jmp 0x40a8b4
mov eax, dword [esi + 0x1c]
sub eax, 0x1274be51
je 0x40b456
jmp 0x40a8c7
mov eax, dword [esi + 0x1c]
sub eax, 0x21683406
je 0x40ad33
jmp 0x40a8da
mov eax, dword [esi + 0x1c]
sub eax, 0x22470de6
je 0x40b692
jmp 0x40a8ed
mov eax, dword [esi + 0x1c]
sub eax, 0x251f0ace
je 0x40afa2
jmp 0x40a900
mov eax, dword [esi + 0x1c]
sub eax, 0x25c2e540
je 0x40ae4e
jmp 0x40a913
mov eax, dword [esi + 0x1c]
sub eax, 0x29b05b86
je 0x40b7ca
jmp 0x40a926
mov eax, dword [esi + 0x1c]
sub eax, 0x2ae3613f
je 0x40ab83
jmp 0x40a939
mov eax, dword [esi + 0x1c]
sub eax, 0x2b15c41b
je 0x40b8bc
jmp 0x40a94c
mov eax, dword [esi + 0x1c]
sub eax, 0x2d80e335
je 0x40b44a
jmp 0x40a95f
mov eax, dword [esi + 0x1c]
sub eax, 0x33b6ad47
je 0x40b46a
jmp 0x40a972
mov eax, dword [esi + 0x1c]
sub eax, 0x3ec34cc4
je 0x40b48d
jmp 0x40a985
mov eax, dword [esi + 0x1c]
sub eax, 0x3f6a5649
je 0x40adf4
jmp 0x40a998
mov eax, dword [esi + 0x1c]
sub eax, 0x42d6ddfc
je 0x40b64c
jmp 0x40a9ab
mov eax, dword [esi + 0x1c]
sub eax, 0x44c7d06e
je 0x40b4d3
jmp 0x40a9be
mov eax, dword [esi + 0x1c]
sub eax, 0x47656721
je 0x40b88c
jmp 0x40a9d1
mov eax, dword [esi + 0x1c]
sub eax, 0x496c2ad7
je 0x40b835
jmp 0x40a9e4
mov eax, dword [esi + 0x1c]
sub eax, 0x4a0b0548
je 0x40b81d
jmp 0x40a9f7
mov eax, dword [esi + 0x1c]
sub eax, 0x5d13d7de
je 0x40af8e
jmp 0x40aa0a
mov eax, dword [esi + 0x1c]
sub eax, 0x5e61b156
je 0x40b7de
jmp 0x40aa1d
mov eax, dword [esi + 0x1c]
sub eax, 0x60135d8a
je 0x40b52a
jmp 0x40aa30
mov eax, dword [esi + 0x1c]
sub eax, 0x606e5817
je 0x40afc5
jmp 0x40aa43
mov eax, dword [esi + 0x1c]
sub eax, 0x67d2224e
je 0x40b09b
jmp 0x40aa56
mov eax, dword [esi + 0x1c]
sub eax, 0x68aa6739
je 0x40b0a7
jmp 0x40aa69
mov eax, dword [esi + 0x1c]
sub eax, 0x69c0e9aa
je 0x40ad79
jmp 0x40aa7c
mov eax, dword [esi + 0x1c]
sub eax, 0x6c82d14a
je 0x40ac46
jmp 0x40aa8f
mov eax, dword [esi + 0x1c]
sub eax, 0x6cdd3a52
je 0x40b640
mov al, byte [esi + 0x32]
mov cl, byte [esi + 0x33]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4a0b0548
mov ecx, 0xff35e133
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
push eax
mov eax, esp
mov dword [esi + 0x34], eax
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0x4a0b0548
mov ecx, 0x874c98fe
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x2ae3613f
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
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, 0xca33c9ff
mov ecx, 0x122b9f62
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
push eax
mov eax, esp
mov dword [esi + 0x38], eax
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0xca33c9ff
mov ecx, 0xdab30839
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x6c82d14a
jmp 0x40b8f7
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x3c], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 8], edx
mov esp, edx
push eax
mov edx, esp
mov dword [esi + 0xc], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x10], edx
mov esp, edx
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x40], edx
push eax
mov edx, esp
mov dword [esi + 0x14], edx
push eax
mov edx, esp
mov dword [esi + 0x18], edx
push eax
mov edx, esp
mov dword [esi + 0x44], edx
push eax
mov edx, esp
mov dword [esi + 0x48], edx
push eax
mov edx, esp
mov dword [esi + 0x4c], edx
mov edx, eax
add edx, 4
mov dword [esi + 0x50], edx
mov edx, eax
add edx, 0x30
mov dword [esi + 0x54], edx
add eax, 0x48
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x34]
mov dword [eax], ecx
mov eax, dword [esi + 0x34]
mov eax, dword [esi + 0x38]
mov byte [eax], 1
mov ecx, dword [esi + 0x3c]
lea eax, str.zcaguajivdoxohqtggefuhksloi
sub esp, 4
mov dword [esp], eax
call fcn.00413cf0
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
vmovsd xmm0, qword [0x42c260]
vmovsd qword [edx], xmm0
mov dword [ecx], 0x45a
vmovsd xmm0, qword [0x42c258]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x40]
lea eax, str.qnvaciukvogofutnblgegpwmaewswwdmpdfddcjtkdzolxebwefczrhexqgmwhiveexsqiemynqdsoptyzrjljaltfrlwcyyhwb
sub esp, 4
mov dword [esp], eax
call fcn.00413cf0
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov byte [ecx], 1
mov dword [eax], 0x383
mov eax, dword [esi + 0x44]
mov dword [eax], 0x54
mov dword [esi + 0x2c], 0x21683406
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
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, 0x496c2ad7
mov ecx, 0x69c0e9aa
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
mov edx, ecx
sub edx, 0x2b0ce145
sub edx, 1
add edx, 0x2b0ce145
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, 0x496c2ad7
mov ecx, 0x3f6a5649
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xaf5d6c59
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
mov edx, eax
sub edx, 0xcf44986c
sub edx, 1
add edx, 0xcf44986c
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, 0xf938d95c
mov ecx, 0x25c2e540
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [esi + 0x5c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x63], al
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0xf938d95c
mov ecx, 0x9e7e75d6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x6fe51073
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
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, 0x8bff54ef
mov ecx, 0xdc21f9de
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dl, byte [esi + 0x63]
mov eax, 0x68aa6739
mov ecx, 0x93927de3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x5d13d7de
jmp 0x40b8f7
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov dword [esi + 0x2c], 0x251f0ace
jmp 0x40b8f7
mov ecx, dword [esi + 0x64]
sub ecx, 0xc3e15b46
add ecx, 0xffffffff
add ecx, 0xc3e15b46
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov dword [esi + 0x2c], 0x606e5817
jmp 0x40b8f7
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0xd36ba287
mov ecx, 0x1240ebed
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0xd36ba287
mov ecx, 0x67d2224e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x21683406
jmp 0x40b8f7
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
mov edx, ecx
add edx, 0xe89e5e86
sub edx, 1
sub edx, 0xe89e5e86
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, 0xebf0a6ec
mov ecx, 0x97e7de0a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [esi + 0x48]
mov dword [eax], 0x13
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0xebf0a6ec
mov ecx, 0x7f735489
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0xc6468485
mov ecx, 0xa81f4363
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
mov edx, ecx
sub edx, 0x11a65c4a
sub edx, 1
add edx, 0x11a65c4a
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, 0xc6468485
mov ecx, 0xf0210fce
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xec6d4d12
jmp 0x40b8f7
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0x47656721
mov ecx, 0xc37b70f2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x68], eax
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
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, 0x47656721
mov ecx, 0xaafa6db
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xe5747052
jmp 0x40b8f7
mov edx, dword [esi + 0x68]
mov eax, 0x3ec34cc4
mov ecx, 0x7169bb6a
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
mov edx, eax
sub edx, 0x436087d8
sub edx, 1
add edx, 0x436087d8
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, 0xe66d0a73
mov ecx, 0x2d80e335
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x1274be51
jmp 0x40b8f7
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x2c], 0x33b6ad47
jmp 0x40b8f7
mov ecx, dword [esi + 0x6c]
sub ecx, 0xdfcf2b7a
add ecx, 0xffffffff
add ecx, 0xdfcf2b7a
mov eax, dword [esi + 0x48]
mov dword [eax], ecx
mov dword [esi + 0x2c], 0xec6d4d12
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
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, 0xf0f9e845
mov ecx, 0x44c7d06e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [esi + 0x4c]
mov dword [eax], 0x27
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
mov edx, eax
add edx, 0x2b7c4250
sub edx, 1
sub edx, 0x2b7c4250
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, 0xf0f9e845
mov ecx, 0x60135d8a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xcd03e5c9
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x8a86b1e6
jmp 0x40b8f7
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov dword [esi + 0x2c], 0xf87fa1dd
jmp 0x40b8f7
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
mov edx, ecx
sub edx, 0x9ca30c2a
sub edx, 1
add edx, 0x9ca30c2a
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, 0x2b15c41b
mov ecx, 0x902c6281
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [esi + 0x70]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x77], al
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
mov edx, eax
add edx, 0x32b32510
sub edx, 1
sub edx, 0x32b32510
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, 0x2b15c41b
mov ecx, 0xf3129a5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dl, byte [esi + 0x77]
mov eax, 0x29b05b86
mov ecx, 0x6cdd3a52
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
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, 0x8a0573e2
mov ecx, 0x22470de6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
add ecx, 0xa2717dd0
add ecx, 0xffffffff
sub ecx, 0xa2717dd0
mov eax, dword [esi + 0x4c]
mov dword [eax], ecx
mov ecx, dword [0x4e1584]
mov eax, dword [0x4e1580]
mov edx, ecx
add edx, 0xd4a17cbd
sub edx, 1
sub edx, 0xd4a17cbd
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, 0x8a0573e2
mov ecx, 0xaeebe774
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xdcb4e7db
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
mov edx, eax
sub edx, 0x959fafc0
sub edx, 1
add edx, 0x959fafc0
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, 0xfafb5481
mov ecx, 0xc346a9d1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov eax, dword [0x4e1584]
mov ecx, dword [0x4e1580]
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, 0xfafb5481
mov ecx, 0xd81b35e7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x8a86b1e6
jmp 0x40b8f7
mov ecx, dword [esi + 0x40]
call fcn.00413f60
mov dword [esi + 0x2c], 0x5e61b156
jmp 0x40b8f7
mov ecx, dword [esi + 0x3c]
call fcn.00413f60
mov ecx, dword [esi + 0x50]
call fcn.00413f60
mov ecx, dword [esi + 0x54]
call fcn.00413f60
mov ecx, dword [esi + 0x58]
call fcn.00413f60
mov eax, 0xd2ca
mov dword [esi + 4], eax
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.0041d300
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x6c
mov dword [esi + 0x2c], 0xff35e133
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x122b9f62
jmp 0x40b8f7
mov eax, dword [esi + 0x44]
mov dword [esi + 0x2c], 0x69c0e9aa
jmp 0x40b8f7
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x2c], 0x25c2e540
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xf61d2551
jmp 0x40b8f7
mov dword [esi + 0x2c], 0x1240ebed
jmp 0x40b8f7
mov eax, dword [esi + 0x48]
mov dword [eax], 0x13
mov dword [esi + 0x2c], 0x97e7de0a
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xa81f4363
jmp 0x40b8f7
mov eax, dword [esi + 0x48]
mov dword [esi + 0x2c], 0xc37b70f2
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xea30da5f
jmp 0x40b8f7
mov eax, dword [esi + 0x4c]
mov dword [eax], 0x27
mov dword [esi + 0x2c], 0x44c7d06e
jmp 0x40b8f7
mov eax, dword [esi + 0x70]
mov dword [esi + 0x2c], 0x902c6281
jmp 0x40b8f7
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax]
add ecx, 0xa3ada7ea
add ecx, 0xffffffff
sub ecx, 0xa3ada7ea
mov eax, dword [esi + 0x4c]
mov dword [eax], ecx
mov dword [esi + 0x2c], 0x22470de6
jmp 0x40b8f7
mov dword [esi + 0x2c], 0xc346a9d1
jmp 0x40a5cc