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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov esi, esp
mov dword [esi + 8], ecx
lea eax, [ebp + 8]
mov dword [esi + 0xc], eax
mov eax, dword [0x438080]
xor eax, ebp
mov dword [esi + 0xa8], eax
mov dword [esi + 0x10], 0x85b32a16
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
sub eax, 0x858f2ca4
je 0x4053bb
jmp 0x404ab4
mov eax, dword [esi + 4]
sub eax, 0x85935b75
je 0x4051ed
jmp 0x404ac7
mov eax, dword [esi + 4]
sub eax, 0x85b32a16
je 0x404d65
jmp 0x404ada
mov eax, dword [esi + 4]
sub eax, 0x9010d822
je 0x405007
jmp 0x404aed
mov eax, dword [esi + 4]
sub eax, 0x92193160
je 0x404e91
jmp 0x404b00
mov eax, dword [esi + 4]
sub eax, 0x929f3b39
je 0x4053fe
jmp 0x404b13
mov eax, dword [esi + 4]
sub eax, 0x941e95bc
je 0x405260
jmp 0x404b26
mov eax, dword [esi + 4]
sub eax, 0x96eaa0b5
je 0x404f67
jmp 0x404b39
mov eax, dword [esi + 4]
sub eax, 0x998c884a
je 0x405449
jmp 0x404b4c
mov eax, dword [esi + 4]
sub eax, 0x9b0cad61
je 0x4052df
jmp 0x404b5f
mov eax, dword [esi + 4]
sub eax, 0x9d78b986
je 0x405086
jmp 0x404b72
mov eax, dword [esi + 4]
sub eax, 0x9d9a052f
je 0x40510c
jmp 0x404b85
mov eax, dword [esi + 4]
sub eax, 0xb24a4120
je 0x4052d3
jmp 0x404b98
mov eax, dword [esi + 4]
sub eax, 0xbee6ee31
je 0x40514d
jmp 0x404bab
mov eax, dword [esi + 4]
sub eax, 0xd7780819
je 0x404e76
jmp 0x404bbe
mov eax, dword [esi + 4]
sub eax, 0xdc148127
je 0x4051e1
jmp 0x404bd1
mov eax, dword [esi + 4]
sub eax, 0xdd9c5262
je 0x405429
jmp 0x404be4
mov eax, dword [esi + 4]
sub eax, 0xe2186eb0
je 0x40501b
jmp 0x404bf7
mov eax, dword [esi + 4]
sub eax, 0xf1fd9fde
je 0x404fb6
jmp 0x404c0a
mov eax, dword [esi + 4]
sub eax, 0x34ba288
je 0x404e48
jmp 0x404c1d
mov eax, dword [esi + 4]
sub eax, 0x1bcb8558
je 0x405458
jmp 0x404c30
mov eax, dword [esi + 4]
sub eax, 0x27ee29f6
je 0x404dd1
jmp 0x404c43
mov eax, dword [esi + 4]
sub eax, 0x2f12a377
je 0x404f87
jmp 0x404c56
mov eax, dword [esi + 4]
sub eax, 0x30310354
je 0x404faa
jmp 0x404c69
mov eax, dword [esi + 4]
sub eax, 0x33e4c420
je 0x405193
jmp 0x404c7c
mov eax, dword [esi + 4]
sub eax, 0x36452424
je 0x40541d
jmp 0x404c8f
mov eax, dword [esi + 4]
sub eax, 0x399ae531
je 0x404f73
jmp 0x404ca2
mov eax, dword [esi + 4]
sub eax, 0x50fcfccf
je 0x405132
jmp 0x404cb5
mov eax, dword [esi + 4]
sub eax, 0x5212bba3
je 0x404efc
jmp 0x404cc8
mov eax, dword [esi + 4]
sub eax, 0x52365050
je 0x4053c7
jmp 0x404cdb
mov eax, dword [esi + 4]
sub eax, 0x556a6562
je 0x4050f7
jmp 0x404cee
mov eax, dword [esi + 4]
sub eax, 0x57831d97
je 0x4050dc
jmp 0x404d01
mov eax, dword [esi + 4]
sub eax, 0x58c53dea
je 0x40543d
jmp 0x404d14
mov eax, dword [esi + 4]
sub eax, 0x65069d87
je 0x405118
jmp 0x404d27
mov eax, dword [esi + 4]
sub eax, 0x690ccff7
je 0x405302
jmp 0x404d3a
mov eax, dword [esi + 4]
sub eax, 0x752f42d4
je 0x405375
jmp 0x404d4d
mov eax, dword [esi + 4]
sub eax, 0x7eaa2720
je 0x404e5c
jmp 0x404d60
jmp 0x40545f
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x30], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x34], edx
push eax
mov edx, esp
mov dword [esi + 0x38], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x3c], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x40], edx
push eax
mov edx, esp
mov dword [esi + 0x44], edx
add ecx, 8
mov dword [esi + 0x48], ecx
mov dword [esi + 0x2c], eax
lea ecx, [esi + 0x90]
lea eax, str.zctjebdcoskmokseljrnnxwaqhyicjuxcwlvntlxlmqigoogmrpfeyozrkkogmuvykqzsfqxstswncoqknsbtvkgvjcafqyad
sub esp, 4
mov dword [esp], eax
call fcn.004176e0
vmovsd xmm0, qword [0x4311e8]
vmovsd qword [esi + 0x20], xmm0
mov dword [esi + 0x10], 0x27ee29f6
jmp 0x40545f
mov dword [esi + 0x1c], 0xf3d
lea ecx, [esi + 0x78]
lea eax, str.cnpwbjzatocgnbmrthxjktixz
sub esp, 4
mov dword [esp], eax
call fcn.004176e0
mov byte [esi + 0x1b], 1
lea ecx, [esi + 0x60]
lea eax, str.dylvfvrfmpqenifqmduobgzpbhhixzlapqvijfsjrlecgwnrmhlezztwwkhmtkobgwxgcpksbzknzvukerkplq
sub esp, 4
mov dword [esp], eax
call fcn.004176e0
mov dword [esi + 0x14], 0x283
mov ecx, dword [esi + 0x30]
lea eax, str.enyhtilwysaim
sub esp, 4
mov dword [esp], eax
call fcn.004176e0
mov ecx, dword [esi + 0x34]
lea eax, str.jimlxfeokvzhhklrawffg
sub esp, 4
mov dword [esp], eax
call fcn.004176e0
mov eax, dword [esi + 0x38]
mov dword [eax], 0x48
mov dword [esi + 0x10], 0x34ba288
jmp 0x40545f
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x10], 0x7eaa2720
jmp 0x40545f
mov eax, dword [esi + 0x4c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x53], al
mov dword [esi + 0x10], 0xd7780819
jmp 0x40545f
mov dl, byte [esi + 0x53]
mov eax, 0xf1fd9fde
mov ecx, 0x92193160
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov ecx, dword [0x4395b4]
mov eax, dword [0x4395b0]
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, 0x36452424
mov ecx, 0x5212bba3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov ecx, dword [0x4395b4]
mov eax, dword [0x4395b0]
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, 0x36452424
mov ecx, 0x96eaa0b5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov dword [esi + 0x10], 0x399ae531
jmp 0x40545f
mov eax, dword [esi + 0x38]
mov eax, dword [eax]
mov dword [esi + 0x54], eax
mov dword [esi + 0x10], 0x2f12a377
jmp 0x40545f
mov ecx, dword [esi + 0x54]
add ecx, 0xe29483bd
add ecx, 0xffffffff
sub ecx, 0xe29483bd
mov eax, dword [esi + 0x38]
mov dword [eax], ecx
mov dword [esi + 0x10], 0x30310354
jmp 0x40545f
mov dword [esi + 0x10], 0x34ba288
jmp 0x40545f
mov ecx, dword [esi + 0x3c]
lea eax, str.zctjebdcoskmokseljrnnxwaqhyicjuxcwlvntlxlmqigoogmrpfeyozrkkogmuvykqzsfqxstswncoqknsbtvkgvjcafqyad
sub esp, 4
mov dword [esp], eax
call fcn.004176e0
mov ecx, dword [esi + 0x40]
lea eax, str.zctjebdcoskmokseljrnnxwaqhyicjuxcwlvntlxlmqigoogmrpfeyozrkkogmuvykqzsfqxstswncoqknsbtvkgvjcafqyad
sub esp, 4
mov dword [esp], eax
call fcn.004176e0
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x40]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00417fe0
add esp, 8
and al, 1
mov byte [esi + 0x5a], al
mov dword [esi + 0x10], 0x9010d822
jmp 0x40545f
mov ecx, dword [esi + 0x40]
call fcn.00417b80
mov dword [esi + 0x10], 0xe2186eb0
jmp 0x40545f
mov ecx, dword [0x4395b4]
mov eax, dword [0x4395b0]
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, 0xdd9c5262
mov ecx, 0x9d78b986
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov ecx, dword [esi + 0x3c]
call fcn.00417b80
mov eax, dword [0x4395b4]
mov ecx, dword [0x4395b0]
mov edx, eax
sub edx, 0xeb04662b
sub edx, 1
add edx, 0xeb04662b
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, 0xdd9c5262
mov ecx, 0x57831d97
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov dl, byte [esi + 0x5a]
mov eax, 0x52365050
mov ecx, 0x556a6562
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov eax, dword [esi + 0x44]
mov dword [eax], 0x1f
mov dword [esi + 0x10], 0x9d9a052f
jmp 0x40545f
mov dword [esi + 0x10], 0x65069d87
jmp 0x40545f
mov eax, dword [esi + 0x44]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x5b], al
mov dword [esi + 0x10], 0x50fcfccf
jmp 0x40545f
mov dl, byte [esi + 0x5b]
mov eax, 0x690ccff7
mov ecx, 0xbee6ee31
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov eax, dword [0x4395b4]
mov ecx, dword [0x4395b0]
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, 0x58c53dea
mov ecx, 0x33e4c420
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov eax, dword [0x4395b4]
mov ecx, dword [0x4395b0]
mov edx, eax
add edx, 0x6d9782bf
sub edx, 1
sub edx, 0x6d9782bf
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, 0x58c53dea
mov ecx, 0xdc148127
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov dword [esi + 0x10], 0x85935b75
jmp 0x40545f
mov ecx, dword [0x4395b4]
mov eax, dword [0x4395b0]
mov edx, ecx
add edx, 0xb4f1793b
sub edx, 1
sub edx, 0xb4f1793b
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, 0x998c884a
mov ecx, 0x941e95bc
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov ecx, dword [0x4395b4]
mov eax, dword [0x4395b0]
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, 0x998c884a
mov ecx, 0xb24a4120
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov dword [esi + 0x10], 0x9b0cad61
jmp 0x40545f
mov ecx, dword [esi + 0x5c]
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 + 0x10], 0x65069d87
jmp 0x40545f
mov ecx, dword [0x4395b4]
mov eax, dword [0x4395b0]
mov edx, ecx
sub edx, 0xd093c939
sub edx, 1
add edx, 0xd093c939
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, 0x1bcb8558
mov ecx, 0x752f42d4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov eax, dword [0x4395b4]
mov ecx, dword [0x4395b0]
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, 0x1bcb8558
mov ecx, 0x858f2ca4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x10], eax
jmp 0x40545f
mov dword [esi + 0x10], 0x52365050
jmp 0x40545f
mov ecx, dword [esi + 0x34]
call fcn.00417b80
mov ecx, dword [esi + 0x30]
call fcn.00417b80
lea ecx, [esi + 0x60]
call fcn.00417b80
lea ecx, [esi + 0x78]
call fcn.00417b80
lea ecx, [esi + 0x90]
call fcn.00417b80
mov dword [esi + 0x10], 0x929f3b39
jmp 0x40545f
mov ecx, dword [esi + 0x48]
call fcn.00417b80
mov ecx, dword [esi + 0xa8]
xor ecx, ebp
call fcn.004218f0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
mov dword [esi + 0x10], 0x5212bba3
jmp 0x40545f
mov ecx, dword [esi + 0x3c]
call fcn.00417b80
mov dword [esi + 0x10], 0x9d78b986
jmp 0x40545f
mov dword [esi + 0x10], 0x33e4c420
jmp 0x40545f
mov eax, dword [esi + 0x44]
mov dword [esi + 0x10], 0x941e95bc
jmp 0x40545f
mov dword [esi + 0x10], 0x752f42d4
jmp 0x404a9e