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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 0x14], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x18], eax
mov eax, dword [0x4cb080]
xor eax, ebp
mov dword [esi + 0x90], eax
mov dword [esi + 0x1c], 0x7e7bc9d0
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x10], eax
sub eax, 0x816da06e
je 0x4047bd
jmp 0x402684
mov eax, dword [esi + 0x10]
sub eax, 0x8174b799
je 0x40472f
jmp 0x402697
mov eax, dword [esi + 0x10]
sub eax, 0x854ba10d
je 0x405187
jmp 0x4026aa
mov eax, dword [esi + 0x10]
sub eax, 0x85b9c893
je 0x4037fc
jmp 0x4026bd
mov eax, dword [esi + 0x10]
sub eax, 0x8acbf86c
je 0x404f3d
jmp 0x4026d0
mov eax, dword [esi + 0x10]
sub eax, 0x8c46757c
je 0x404d37
jmp 0x4026e3
mov eax, dword [esi + 0x10]
sub eax, 0x8dd1f1e8
je 0x40495c
jmp 0x4026f6
mov eax, dword [esi + 0x10]
sub eax, 0x8e93d22e
je 0x404e6c
jmp 0x402709
mov eax, dword [esi + 0x10]
sub eax, 0x8ed57b65
je 0x403a89
jmp 0x40271c
mov eax, dword [esi + 0x10]
sub eax, 0x91473e08
je 0x4031ba
jmp 0x40272f
mov eax, dword [esi + 0x10]
sub eax, 0x9710a50b
je 0x405119
jmp 0x402742
mov eax, dword [esi + 0x10]
sub eax, 0x97b8feab
je 0x404a62
jmp 0x402755
mov eax, dword [esi + 0x10]
sub eax, 0x981fe366
je 0x40500a
jmp 0x402768
mov eax, dword [esi + 0x10]
sub eax, 0x990bbf9b
je 0x4039bc
jmp 0x40277b
mov eax, dword [esi + 0x10]
sub eax, 0x99924f49
je 0x404a6e
jmp 0x40278e
mov eax, dword [esi + 0x10]
sub eax, 0x9be06592
je 0x4042bd
jmp 0x4027a1
mov eax, dword [esi + 0x10]
sub eax, 0x9dd80787
je 0x404b62
jmp 0x4027b4
mov eax, dword [esi + 0x10]
sub eax, 0xa2c00bde
je 0x4045e9
jmp 0x4027c7
mov eax, dword [esi + 0x10]
sub eax, 0xa37be5f8
je 0x40363d
jmp 0x4027da
mov eax, dword [esi + 0x10]
sub eax, 0xa38b9e06
je 0x404fb0
jmp 0x4027ed
mov eax, dword [esi + 0x10]
sub eax, 0xa52efc13
je 0x404968
jmp 0x402800
mov eax, dword [esi + 0x10]
sub eax, 0xa85df786
je 0x404396
jmp 0x402813
mov eax, dword [esi + 0x10]
sub eax, 0xa9d4219b
je 0x404d83
jmp 0x402826
mov eax, dword [esi + 0x10]
sub eax, 0xb0f7f27a
je 0x404545
jmp 0x402839
mov eax, dword [esi + 0x10]
sub eax, 0xb2a343de
je 0x403171
jmp 0x40284c
mov eax, dword [esi + 0x10]
sub eax, 0xb3b4115c
je 0x40372f
jmp 0x40285f
mov eax, dword [esi + 0x10]
sub eax, 0xb4a2242a
je 0x405216
jmp 0x402872
mov eax, dword [esi + 0x10]
sub eax, 0xb6d1bffc
je 0x4043b7
jmp 0x402885
mov eax, dword [esi + 0x10]
sub eax, 0xb8bba321
je 0x403b17
jmp 0x402898
mov eax, dword [esi + 0x10]
sub eax, 0xb9b6664a
je 0x403bbf
jmp 0x4028ab
mov eax, dword [esi + 0x10]
sub eax, 0xbec6235c
je 0x40417c
jmp 0x4028be
mov eax, dword [esi + 0x10]
sub eax, 0xbfdf7858
je 0x405145
jmp 0x4028d1
mov eax, dword [esi + 0x10]
sub eax, 0xbff44e4e
je 0x404593
jmp 0x4028e4
mov eax, dword [esi + 0x10]
sub eax, 0xc50e275e
je 0x4048e9
jmp 0x4028f7
mov eax, dword [esi + 0x10]
sub eax, 0xc686cdc2
je 0x403e5b
jmp 0x40290a
mov eax, dword [esi + 0x10]
sub eax, 0xca55763b
je 0x403c00
jmp 0x40291d
mov eax, dword [esi + 0x10]
sub eax, 0xcc9cf584
je 0x40412a
jmp 0x402930
mov eax, dword [esi + 0x10]
sub eax, 0xcd7dcceb
je 0x403be0
jmp 0x402943
mov eax, dword [esi + 0x10]
sub eax, 0xce7be2aa
je 0x4035c5
jmp 0x402956
mov eax, dword [esi + 0x10]
sub eax, 0xd6120505
je 0x404f31
jmp 0x402969
mov eax, dword [esi + 0x10]
sub eax, 0xd6291a27
je 0x4050b5
jmp 0x40297c
mov eax, dword [esi + 0x10]
sub eax, 0xd6652783
je 0x403f89
jmp 0x40298f
mov eax, dword [esi + 0x10]
sub eax, 0xd74aa349
je 0x40324e
jmp 0x4029a2
mov eax, dword [esi + 0x10]
sub eax, 0xda17a114
je 0x4034df
jmp 0x4029b5
mov eax, dword [esi + 0x10]
sub eax, 0xda245053
je 0x403307
jmp 0x4029c8
mov eax, dword [esi + 0x10]
sub eax, 0xdb3ecd95
je 0x4037f0
jmp 0x4029db
mov eax, dword [esi + 0x10]
sub eax, 0xdb476c5a
je 0x404e78
jmp 0x4029ee
mov eax, dword [esi + 0x10]
sub eax, 0xe01b6694
je 0x40385d
jmp 0x402a01
mov eax, dword [esi + 0x10]
sub eax, 0xe45bee99
je 0x40404e
jmp 0x402a14
mov eax, dword [esi + 0x10]
sub eax, 0xe5493518
je 0x404aef
jmp 0x402a27
mov eax, dword [esi + 0x10]
sub eax, 0xe90ea2ca
je 0x403e4f
jmp 0x402a3a
mov eax, dword [esi + 0x10]
sub eax, 0xec32f356
je 0x404974
jmp 0x402a4d
mov eax, dword [esi + 0x10]
sub eax, 0xeebf4755
je 0x40516c
jmp 0x402a60
mov eax, dword [esi + 0x10]
sub eax, 0xefb8596d
je 0x403cd9
jmp 0x402a73
mov eax, dword [esi + 0x10]
sub eax, 0xeffcae52
je 0x4051e4
jmp 0x402a86
mov eax, dword [esi + 0x10]
sub eax, 0xf00c7023
je 0x4042c9
jmp 0x402a99
mov eax, dword [esi + 0x10]
sub eax, 0xf04f1c1e
je 0x4051f3
jmp 0x402aac
mov eax, dword [esi + 0x10]
sub eax, 0xf1f2f54a
je 0x404834
jmp 0x402abf
mov eax, dword [esi + 0x10]
sub eax, 0xf33a16d1
je 0x404d77
jmp 0x402ad2
mov eax, dword [esi + 0x10]
sub eax, 0xf4129a8a
je 0x404c02
jmp 0x402ae5
mov eax, dword [esi + 0x10]
sub eax, 0xf53d3fed
je 0x403b65
jmp 0x402af8
mov eax, dword [esi + 0x10]
sub eax, 0xf5729f9a
je 0x4038d0
jmp 0x402b0b
mov eax, dword [esi + 0x10]
sub eax, 0xf5c1b28a
je 0x403361
jmp 0x402b1e
mov eax, dword [esi + 0x10]
sub eax, 0xf809a4cb
je 0x403426
jmp 0x402b31
mov eax, dword [esi + 0x10]
sub eax, 0xf8bb93af
je 0x404235
mov eax, dword [esi + 0x18]
push eax
sub esp, 0x14
mov ecx, esp
mov dword [esi + 0x38], ecx
push eax
mov ecx, esp
mov dword [esi + 0x3c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x40], ecx
push eax
mov ecx, esp
mov dword [esi + 0x44], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x48], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x4c], ecx
push eax
mov ecx, esp
mov dword [esi + 0x50], ecx
push eax
mov ecx, esp
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], eax
mov dword [esi + 0x1c], 0x91473e08
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
sub edx, 0x6e80a7ce
sub edx, 1
add edx, 0x6e80a7ce
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, 0x7709fc92
mov ecx, 0x38249d60
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
sub edx, 0xe65db79
sub edx, 1
add edx, 0xe65db79
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, 0x544eeced
mov ecx, 0x53e995d6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0xfbe21f32
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
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, 0x6b3ea7c8
mov ecx, 0x4ab75e80
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
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, 0x283137a
mov ecx, 0x3fa49a5b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
add edx, 0x3164806b
sub edx, 1
sub edx, 0x3164806b
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, 0x190612c3
mov ecx, 0x579a5366
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
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, 0x243bcbbc
mov ecx, 0x79da8b3f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [esi + 0x24]
mov byte [eax], 1
mov eax, dword [esi + 0x28]
vmovsd xmm0, qword [0x4c41b8]
vmovsd qword [eax], xmm0
mov dword [esi + 0x1c], 0x36d57c01
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
sub edx, 0x9d86d9cc
sub edx, 1
add edx, 0x9d86d9cc
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, 0x7e03ee0e
mov ecx, 0x13ca393f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x85b9c893
jmp 0x40522c
mov eax, dword [esi + 0x34]
mov dword [eax], 0x150
mov ecx, dword [esi + 0x38]
lea eax, str.mpuhljoshmkjdzewzritf
sub esp, 4
mov dword [esp], eax
call fcn.0047d600
mov eax, dword [esi + 0x3c]
mov dword [eax], 0x108c
mov eax, dword [esi + 0x40]
mov byte [eax], 0
mov eax, dword [esi + 0x44]
mov dword [eax], 0x10
mov dword [esi + 0x1c], 0x450086f9
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
add edx, 0x45335cc3
sub edx, 1
sub edx, 0x45335cc3
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, 0x1a2e3681
mov ecx, 0xf5729f9a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
add edx, 0xdb75b6b0
sub edx, 1
sub edx, 0xdb75b6b0
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, 0xfb22b030
mov ecx, 0x5d406c55
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
add edx, 0xe4801d6e
sub edx, 1
sub edx, 0xe4801d6e
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, 0x1a2e3681
mov ecx, 0x3627802f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
sub edx, 0x7c1faeaa
sub edx, 1
add edx, 0x7c1faeaa
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, 0x9710a50b
mov ecx, 0x11db0fa8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0x6aa52fcc
sub edx, 1
sub edx, 0x6aa52fcc
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, 0x4be8500c
mov ecx, 0xf53d3fed
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0x443cd153
sub edx, 1
sub edx, 0x443cd153
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, 0x4be8500c
mov ecx, 0x6100e9e5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
add eax, 0x6ab80403
add eax, 0xffffffff
sub eax, 0x6ab80403
mov dword [esi + 0x64], eax
mov dword [esi + 0x1c], 0xcd7dcceb
jmp 0x40522c
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0x11260795
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
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, 0x8c46757c
mov ecx, 0xfb9b418b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
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, 0x42f71b0
mov ecx, 0x1cc4e0b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0xc686cdc2
jmp 0x40522c
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0047e4a0
add esp, 8
mov byte [esi + 0xf], al
mov ecx, dword [esi + 0x4c]
call fcn.0047e2a0
mov ecx, dword [esi + 0x48]
call fcn.0047e2a0
mov dl, byte [esi + 0xf]
mov eax, 0x3bce688f
mov ecx, 0x4dd55954
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x25ead7da
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
sub edx, 0x8c75cb1
sub edx, 1
add edx, 0x8c75cb1
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, 0x2a422cb3
mov ecx, 0x55f5b87d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x1b172545
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
add edx, 0xc0b9d283
sub edx, 1
sub edx, 0xc0b9d283
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, 0x5555f9a7
mov ecx, 0xb61fe55
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0xf00c7023
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
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, 0xdb476c5a
mov ecx, 0x4e860578
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x3bce688f
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0x2c4667eb
sub edx, 1
sub edx, 0x2c4667eb
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, 0x8acbf86c
mov ecx, 0x5b36b944
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0xc8b13ac5
sub edx, 1
sub edx, 0xc8b13ac5
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, 0x19adbb1e
mov ecx, 0xbff44e4e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x70], eax
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0x86c6e5ef
sub edx, 1
sub edx, 0x86c6e5ef
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, 0x19adbb1e
mov ecx, 0xa2c00bde
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x128eb19a
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
sub edx, 0xd35ba4e5
sub edx, 1
add edx, 0xd35ba4e5
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, 0x854ba10d
mov ecx, 0x33759d5e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x5fcb0e96
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0xa872d0a5
sub edx, 1
sub edx, 0xa872d0a5
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, 0x3c9e6a54
mov ecx, 0x15bd291d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
sub edx, 0xc7d7021c
sub edx, 1
add edx, 0xc7d7021c
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, 0xd6291a27
mov ecx, 0x8dd1f1e8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0xa52efc13
jmp 0x40522c
mov dword [esi + 0x1c], 0xb0f7f27a
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
sub edx, 0x3ee9c7f2
sub edx, 1
add edx, 0x3ee9c7f2
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, 0x5995db12
mov ecx, 0x2b5083f9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x99924f49
jmp 0x40522c
lea ecx, [esi + 0x78]
call fcn.0047e2a0
mov ecx, dword [esi + 0x58]
call fcn.0047e2a0
fld dword [0x4c41b0]
fstp xword [esi + 4]
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.004b22c0
fld xword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x44
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
sub edx, 0xabb9a6aa
sub edx, 1
add edx, 0xabb9a6aa
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, 0x5325f496
mov ecx, 0x9dd80787
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x53e995d6
jmp 0x40522c
mov dword [esi + 0x1c], 0xf5c1b28a
jmp 0x40522c
mov ecx, dword [esi + 0x48]
lea eax, str.mdsosnevpfyhrmkwjguhutowfclvurujjyguoxptjjyzlzukbpjrfg
sub esp, 4
mov dword [esp], eax
call fcn.0047d600
mov dword [esi + 0x1c], 0xfb9b418b
jmp 0x40522c
mov dword [esi + 0x1c], 0x10e694f
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
sub edx, 0x285af46f
sub edx, 1
add edx, 0x285af46f
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, 0xf04f1c1e
mov ecx, 0x542f4219
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0xf8bb93af
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
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, 0x71f58681
mov ecx, 0x38cfd7ba
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov dword [esi + 0x1c], 0x4e860578
jmp 0x40522c
mov ecx, dword [0x4cc738]
mov eax, dword [0x4cc734]
mov edx, ecx
add edx, 0x1003f3c5
sub edx, 1
sub edx, 0x1003f3c5
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, 0xb4a2242a
mov ecx, 0xa38b9e06
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0xddd2b893
sub edx, 1
sub edx, 0xddd2b893
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, 0xb4a2242a
mov ecx, 0x4e9065a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [0x4cc738]
mov ecx, dword [0x4cc734]
mov edx, eax
add edx, 0x1dc136e
sub edx, 1
sub edx, 0x1dc136e
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, 0x490d10d9
mov ecx, 0x16779d14
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x1c], eax
jmp 0x40522c
mov eax, dword [esi + 0x54]
mov ecx, dword [eax]
sub ecx, 0xbb3f3445
add ecx, 0xffffffff
add ecx, 0xbb3f3445
mov eax, dword [esi + 0x54]
mov dword [eax], ecx
mov dword [esi + 0x1c], 0xf1f2f54a
jmp 0x40522c
mov dword [esi + 0x1c], 0x8ed57b65
jmp 0x40522c
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], 0x50d6e9d4
jmp 0x40522c
mov dword [esi + 0x1c], 0xfc6ce870
jmp 0x40522c
mov dword [esi + 0x1c], 0x8174b799
jmp 0x40522c
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x1c], 0xc572066
jmp 0x40522c
mov eax, dword [esi + 0x50]
mov dword [esi + 0x1c], 0x542f4219
jmp 0x40522c
mov dword [esi + 0x1c], 0xa38b9e06
jmp 0x40522c
jmp 0x40266e