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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [0x4ea2c0]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, 0x483ff33d
mov dword [esp + 0x18], ecx
jmp 0x408800
mov eax, dword [0x4ec3d0]
mov ebx, 0xa03aa584
mov edi, 0x4718afdb
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x4718afdb
sete cl
cmove eax, ebx
cmp dword [0x4ec3cc], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
nop word cs:[eax + eax]
cmp eax, 0x1151318
jg 0x408860
cmp eax, 0xd69f9b68
jg 0x408960
cmp eax, 0xb31a02b2
jle 0x408a0d
cmp eax, 0xc61d871c
jle 0x408b05
cmp eax, 0xc61d871d
je 0x408da0
cmp eax, 0xcdc7aa81
je 0x408db7
cmp eax, 0xce668948
jne 0x408800
mov eax, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov eax, 0x1151319
jmp 0x408800
cmp eax, 0x44b2088d
jg 0x4089b0
cmp eax, 0x13113898
jg 0x408a43
cmp eax, 0x869aa9b
jle 0x408b29
cmp eax, 0x869aa9c
je 0x408e04
cmp eax, 0xb354623
je 0x408e0e
cmp eax, 0xb762bc6
jne 0x408800
mov eax, dword [esp + 0x48]
mov edi, 0x147f1753
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x18]
movzx eax, byte [ecx + eax + 0x40]
mov ecx, dword [0x4ec3f0]
lea edx, [ecx + 1]
imul edx, ecx
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete cl
cmp dword [0x4ec3ec], 0xa
setl dl
or dl, cl
mov ecx, 0xba7b1b93
mov edx, 0xa10a40b7
cmovne ecx, edx
mov edx, 0xba7b1b93
cmovne edx, edi
mov edi, 0x28191b9d
nop word cs:[eax + eax]
cmp edi, 0xba7b1b92
jle 0x408930
cmp edi, 0xba7b1b93
je 0x408948
cmp edi, 0x147f1753
je 0x40894f
cmp edi, 0x28191b9d
jne 0x408900
mov edi, 0xac2fc268
jmp 0x408900
cmp edi, 0xa10a40b7
je 0x408e18
cmp edi, 0xac2fc268
jne 0x408900
mov edi, edx
jmp 0x408900
mov edi, 0x147f1753
jmp 0x408900
mov edi, ecx
jmp 0x408900
cmp eax, 0xdca50fd6
jg 0x408a79
cmp eax, 0xda36bc08
jle 0x408b71
cmp eax, 0xda36bc09
je 0x408e37
cmp eax, 0xda5e55ed
je 0x408e51
cmp eax, 0xdb3663ae
jne 0x408800
mov esi, dword [esp + 0x28]
mov eax, 0xf63cdb1e
jmp 0x408800
cmp eax, 0x5e97d5af
jg 0x408acf
cmp eax, 0x483ff33c
jle 0x408bad
cmp eax, 0x483ff33d
je 0x408e68
cmp eax, 0x512e2e3d
je 0x408e87
cmp eax, 0x56c7e20b
jne 0x408800
mov eax, dword [0x4ec3d0]
mov ebx, 0x13113899
mov edi, 0x9967cb77
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x9967cb77
jmp 0x4087de
cmp eax, 0xa03aa583
jle 0x408bcd
cmp eax, 0xa03aa584
je 0x408e91
cmp eax, 0xabb37b2f
je 0x408ede
cmp eax, 0xb0af6dea
jne 0x408800
mov eax, 0x512e2e3d
jmp 0x408800
cmp eax, 0x25f58e7c
jle 0x408c02
cmp eax, 0x25f58e7d
je 0x408f17
cmp eax, 0x327b8184
je 0x408f21
cmp eax, 0x3dd66f62
jne 0x408800
mov eax, 0xdca50fd7
jmp 0x408800
cmp eax, 0xe824ebb5
jle 0x408d57
cmp eax, 0xe824ebb6
je 0x408f2b
cmp eax, 0xf6361b26
je 0x408f35
cmp eax, 0xf63cdb1e
jne 0x408800
mov esi, dword [esp + 0x28]
mov eax, dword [0x4ec3d0]
mov ebx, 0x6ae4c020
mov edi, 0xdb3663ae
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xdb3663ae
jmp 0x4087de
cmp eax, 0x6c4a15ee
jle 0x408d80
cmp eax, 0x6c4a15ef
je 0x408f3f
cmp eax, 0x7379bd4e
je 0x408f81
cmp eax, 0x7c297b26
jne 0x408800
mov eax, 0xb0af6dea
jmp 0x408800
cmp eax, 0xb31a02b3
je 0x4087bd
cmp eax, 0xc4e666f7
jne 0x4091d0
mov eax, dword [esp + 0x18]
mov eax, 0xd69f9b69
jmp 0x408800
cmp eax, 0x1151319
je 0x408f93
cmp eax, 0x5032a67
jne 0x408800
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x18]
call fcn.0040fbe0
mov ecx, eax
xor ecx, 0xfffff1ff
and ecx, eax
mov eax, 0xda36bc09
mov dword [esp + 0x20], ecx
jmp 0x408800
cmp eax, 0xd69f9b69
je 0x408fab
cmp eax, 0xd6ac1e91
jne 0x408800
mov eax, dword [0x4ec3d0]
mov ebx, 0xd69f9b69
mov edi, 0xc4e666f7
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc4e666f7
jmp 0x4087de
cmp eax, 0x44b2088e
je 0x409002
cmp eax, 0x4718afdb
jne 0x408800
mov eax, 0xa03aa584
jmp 0x408800
cmp eax, 0x9967cb77
je 0x409052
cmp eax, 0x99f8320f
jne 0x408800
mov eax, dword [0x4ec3d0]
mov edi, 0xf63cdb1e
mov ebx, 0xdb3663ae
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xdb3663ae
jmp 0x408fdd
cmp eax, 0x13113899
je 0x40905c
cmp eax, 0x1cfe31ed
jne 0x408800
lea eax, [esp + 0x6c]
mov ebx, 0x52cdfc24
mov edi, 0xb22e2d18
mov dword [esp + 0x70], eax
mov eax, dword [0x4ec3d8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
sete cl
cmp dword [0x4ec3d4], 0xa
setge dl
setl ah
or dl, al
xor ah, cl
mov ecx, 0x52cdfc24
xor dl, 1
or dl, ah
mov eax, 0xa93c7e4b
mov edx, 0xb22e2d18
cmovne ebx, eax
mov eax, 0xb29d2d42
cmovne ecx, eax
mov eax, 0x75b4d6e
cmovne edx, eax
mov eax, 0x2fd09ffd
cmovne edi, eax
mov eax, 0xcf6ce44
jmp 0x408ca0
cmp ebp, 0xb22e2d18
jne 0x408d32
mov eax, dword [esp + 0x70]
mov eax, 0x2fd09ffd
nop
mov ebp, eax
cmp eax, 0xcf6ce43
jle 0x408ce0
cmp ebp, 0x3736487b
jg 0x408d10
mov eax, edi
cmp ebp, 0xcf6ce44
je 0x408ca0
mov eax, ebp
cmp ebp, 0x2fd09ffd
jne 0x408ca0
mov eax, dword [esp + 0x70]
cmp byte [eax], 0
mov eax, edx
setne byte [esp + 0x1f]
jmp 0x408ca0
cmp ebp, 0xb29d2d41
jle 0x408c89
mov eax, ebx
cmp ebp, 0xb29d2d42
je 0x408ca0
mov eax, ebp
cmp ebp, 0x75b4d6e
jne 0x408ca0
mov eax, 0x3736487c
jmp 0x408ca0
mov eax, ecx
cmp ebp, 0x3736487c
je 0x408ca0
mov eax, ebp
cmp ebp, 0x52cdfc24
jne 0x408ca0
mov eax, 0xb29d2d42
jmp 0x408ca0
mov eax, ebp
cmp ebp, 0xa93c7e4b
jne 0x408ca0
cmp byte [esp + 0x1f], 0
mov eax, 0xc61d871d
mov ecx, 0xabb37b2f
cmovne eax, ecx
jmp 0x408800
cmp eax, 0xdca50fd7
je 0x4090a1
cmp eax, 0xdf0e5855
jne 0x408800
mov eax, esi
or eax, 4
mov dword [esp + 0x28], eax
mov eax, 0x99f8320f
jmp 0x408800
cmp eax, 0x5e97d5b0
je 0x4090b3
cmp eax, 0x6ae4c020
jne 0x408800
mov eax, 0x56c7e20b
jmp 0x408800
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
add eax, 4
mov dword [esp + 0x50], eax
mov eax, 0x5e97d5b0
jmp 0x408800
mov eax, dword [0x4ec3d0]
mov ecx, dword [0x4ec3cc]
mov edi, 0xb354623
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x3dd66f62
cmovne edi, ebx
test eax, edx
mov edx, dword [esp + 0x90]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov dword [esp + 0x38], edx
jmp 0x408800
mov eax, 0xd6ac1e91
jmp 0x408800
mov eax, 0xcdc7aa81
jmp 0x408800
mov byte [esp + 0x70], al
movzx eax, byte [esp + 0x70]
mov byte [esp + 0x1e], al
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov eax, 0x44b2088e
jmp 0x408800
cmp dword [esp + 0x20], 0x400
mov eax, 0xce668948
mov ecx, 0x6c4a15ef
cmove eax, ecx
jmp 0x408800
cmp byte [esp + 0x1d], 0
mov eax, 0xb31a02b3
mov ecx, 0x6c4a15ef
cmovne eax, ecx
jmp 0x408800
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x68]
mov dword [esp], eax
call fcn.0040f180
sub esp, 4
mov eax, 0x1cfe31ed
xor esi, esi
jmp 0x408800
mov eax, 0x327b8184
jmp 0x408800
mov eax, dword [0x4ec3d0]
mov ecx, dword [0x4ec3cc]
mov edi, 0x4718afdb
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xf6361b26
cmovne edi, ebx
test eax, edx
mov edx, dword [esp + 0x90]
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
mov dword [esp + 0x3c], edx
jmp 0x408800
mov eax, dword [esp + 0x18]
lea edi, [esp + 0x70]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x18]
mov dword [esp], edi
call fcn.0041a460
sub esp, 4
mov dword [esp], edi
call fcn.00419cf0
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.0041a650
mov eax, 0x5032a67
jmp 0x408800
mov eax, 0xb762bc6
jmp 0x408800
mov eax, 0xc61d871d
jmp 0x408800
mov eax, 0xd6ac1e91
jmp 0x408800
mov eax, 0x7379bd4e
jmp 0x408800
mov eax, dword [0x4ec3d0]
mov ecx, dword [0x4ec3cc]
mov edi, 0xb354623
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0xcdc7aa81
cmovne edi, ebx
test eax, edx
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x408800
mov ecx, dword [esp + 0x3c]
mov eax, 0xe824ebb6
mov dword [esp + 0x24], ecx
jmp 0x408800
mov eax, dword [esp + 0x34]
cmp eax, 0x800
mov eax, 0xda5e55ed
sete byte [esp + 0x1d]
jmp 0x408800
mov eax, dword [esp + 0x2c]
mov edi, 0x25f58e7d
mov ebx, 0xc4e666f7
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov eax, dword [0x4ec3d0]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xc4e666f7
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4ec3cc], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x408800
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ebp, dword [eax + 4]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x18]
call fcn.0040fe20
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], ecx
mov ecx, 0x45cf9a8a
nop
cmp ecx, 0x388f12c9
je 0x4090c7
cmp ecx, 0x45cf9a8a
jne 0x409030
mov ecx, dword [esp + 0x70]
mov byte [ecx], 0
mov ecx, 0x388f12c9
jmp 0x409030
mov eax, 0x13113899
jmp 0x408800
mov edx, dword [0x4ec3d0]
mov ecx, dword [0x4ec3cc]
mov edi, 0x7c297b26
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x9967cb77
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x408800
mov ecx, dword [esp + 0x38]
mov eax, 0x869aa9c
mov dword [esp + 0x24], ecx
jmp 0x408800
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov eax, 0xbd51e987
jmp 0x408800
mov ecx, dword [esp + 0x70]
add edi, ebp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
movsx edx, byte [esp + 0x1e]
vmovsd xmm0, qword [esp + 0x58]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], edx
lea edx, [esp + 0x60]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edi
mov dword [esp], edx
call fcn.0041abc0
sub esp, 0x18
mov eax, dword [0x4ec3c8]
mov edi, 0xcd89234b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
cmp dword [0x4ec3c4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0xa0844899
or cl, dl
mov ecx, 0xc67bac3c
mov edx, 0xc38e8d77
cmovne eax, ecx
mov ecx, 0xa0844899
cmovne ecx, edx
movzx edx, byte [esp + 0x60]
nop word cs:[eax + eax]
cmp edi, 0xc67bac3b
jle 0x409190
cmp edi, 0xc67bac3c
je 0x4091b2
cmp edi, 0xcd89234b
je 0x4091a4
cmp edi, 0xe779a6e
jne 0x409160
mov edi, ecx
jmp 0x409160
cmp edi, 0xa0844899
je 0x4091ab
cmp edi, 0xc38e8d77
jne 0x409160
mov edi, eax
jmp 0x409160
mov edi, 0xe779a6e
jmp 0x409160
mov edi, 0xc38e8d77
jmp 0x409160
test dl, dl
mov eax, 0xb0af6dea
mov ecx, 0xdf0e5855
setne byte [esp + 0x70]
cmp byte [esp + 0x70], 0
cmovne eax, ecx
jmp 0x408800
cmp eax, 0xbd51e987
jne 0x408800
mov ecx, dword [esp + 0x54]
add ecx, dword [esp + 0x18]
mov dword [esp], esi
mov dword [esp + 4], 0
call fcn.004107d0
sub esp, 8
lea ecx, [esp + 0x68]
call fcn.00410880
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004392e0
mov eax, esi
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret 4