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

Disassembly:
push edi
push esi
sub esp, 0x7c
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
mov esi, 0xc3f46ad8
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], ecx
mov eax, ecx
mov edx, dword [0x4ab638]
imul edx, edx, 0xb8e85cfe
mov dword [0x4ab638], edx
mov edx, esp
mov dword [edx + 4], 0x31e
mov dword [edx], 0x986b
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], eax
call fcn.00402ec0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0x34], eax
mov di, word [0x49a190]
movsx eax, di
mov edx, dword [0x4a3d44]
xor edx, eax
mov dword [0x4a3d44], edx
mov eax, esp
mov dword [eax + 4], 0xaf1
mov dword [eax], 0x25
call fcn.00402ec0
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0x30], eax
mov di, word [0x499e18]
mov ax, di
or eax, 0x84d3
mov di, ax
mov word [0x499e18], di
mov eax, dword [0x4940c0]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov eax, dword [0x49cddc]
mov ecx, eax
dec ecx
mov dword [0x49cddc], ecx
imul eax, eax, 0x200d4130
mov di, word [0x498bd4]
mov cx, di
and ecx, eax
mov di, cx
mov word [0x498bd4], di
mov eax, dword [esp + 0x50]
mov dword [eax + 0x18], 0
mov ecx, dword [0x49db94]
mov edx, ecx
dec edx
mov dword [0x49db94], edx
mov edx, dword [0x4a71a8]
xor edx, 0xffffffff
add ecx, edx
mov edx, dword [esp + 0x4c]
cmp edx, ecx
jg 0x408ca7
mov eax, dword [0x4aafe4]
mov ecx, eax
dec ecx
mov dword [0x4aafe4], ecx
add eax, 0x9cdfad59
mov ecx, dword [0x4a2e70]
shl ecx, 9
xor ecx, 0xbf3a9582
cmp eax, ecx
je 0x408ca2
mov eax, dword [0x4a1c54]
mov ecx, dword [0x4a9090]
imul ecx, eax
mov dword [0x4a9090], ecx
jmp 0x408ca7
mov eax, 0x12ff05e3
mov ecx, dword [esp + 0x48]
mov byte [ecx + 0x1c], 0
mov edx, dword [0x4ac47c]
add edx, 0x49d95826
mov dword [0x4ac47c], edx
mov dword [ecx + 0x28], 0
mov edx, dword [0x49dcb4]
sar edx, 2
cmp eax, edx
jl 0x408d49
mov eax, dword [0x49ccdc]
mov ecx, dword [0x4aa614]
mov edx, ecx
inc edx
mov dword [0x4aa614], edx
mov si, word [0x49762a]
mov dx, si
inc edx
mov si, dx
mov word [0x49762a], si
movsx edx, si
imul ecx, edx
add eax, ecx
cmp eax, 0x8a908929
jge 0x408d44
mov eax, dword [0x4a1fac]
imul eax, eax, 0x2852f260
and eax, 0x5753076c
cmp eax, 0xff9ff6ff
jle 0x408d3a
jmp 0x408d3f
jmp 0x408d3f
jmp 0x408d44
jmp 0x408d49
mov eax, esp
mov dword [eax + 4], 4
mov dword [eax], 0x1ae7
call fcn.00402ec0
mov dword [esp + 0x6c], eax
mov eax, dword [0x4a0e74]
xor eax, 0xb9000808
mov dword [0x4a0e74], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x48]
add ecx, 0x38
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00454780
mov si, word [0x49861e]
mov cx, si
and ecx, 0xffdb
mov si, cx
mov word [0x49861e], si
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0xb637
mov dword [esp + 0x44], eax
call fcn.00402ec0
mov dword [esp + 0x68], eax
mov si, word [0x4965a6]
mov ax, si
or eax, 0xe5c1
mov si, ax
mov word [0x4965a6], si
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004018d0
mov eax, dword [0x4a2e64]
or eax, 0xbe18710
mov dword [0x4a2e64], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x48]
add ecx, 0x4c
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00454780
mov ecx, dword [0x4a66f8]
add ecx, 0xcb8f7284
mov dword [0x4a66f8], ecx
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x40], eax
call fcn.004018d0
mov eax, dword [0x4a0aa8]
imul eax, eax, 0x10c40110
mov dword [0x4a0aa8], eax
mov eax, esp
mov dword [eax], 0
call fcn.00450590
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x20], eax
mov eax, dword [0x4a5d50]
or eax, 0xf6dbfffe
mov dword [0x4a5d50], eax
mov eax, dword [ecx + 0x20]
shr eax, 9
mov dword [ecx + 0x20], eax
mov si, word [0x495400]
mov ax, si
inc eax
mov si, ax
mov word [0x495400], si
movsx eax, si
imul eax, eax, 0x98bd3091
mov edi, dword [0x4a86b4]
add edi, eax
mov dword [0x4a86b4], edi
mov eax, dword [ecx + 0x20]
add eax, 0x200
mov dword [ecx + 0x24], eax
mov eax, dword [0x4aa8ac]
inc eax
mov dword [0x4aa8ac], eax
mov edi, dword [0x4a8940]
not edi
and eax, edi
mov si, word [0x49c12c]
mov di, si
shl edi, 2
xor eax, edi
mov si, word [0x49b4a8]
mov di, si
sub edi, eax
mov si, di
mov word [0x49b4a8], si
mov dword [esp + 0x64], 0
mov si, word [0x498eaa]
movsx eax, si
add eax, 0xd72a6b9d
mov dword [0x4a6b68], eax
mov eax, dword [0x4a2a54]
xor eax, 0xce6
mov si, word [0x49c2a8]
mov di, si
sub edi, eax
mov si, di
mov word [0x49c2a8], si
mov dword [esp + 0x5c], 0
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x5c], 0x28
je 0x4090c9
mov eax, 0xdf254a20
mov cx, word [0x4977d4]
mov dx, cx
dec edx
mov si, dx
mov word [0x4977d4], si
movsx edx, cx
cmp eax, edx
jl 0x408f73
mov eax, dword [0x4a7cd0]
and eax, 0x962ab998
mov dword [0x4a7cd0], eax
jmp 0x408fb4
mov eax, 0xb69b0793
mov ecx, dword [0x4a6718]
add ecx, 0x42927471
add ecx, 0x85e77de
cmp eax, ecx
jg 0x408faf
mov ax, word [0x4981fc]
movsx ecx, ax
add ecx, 0xf57c6f24
mov edx, dword [0x4a1718]
sub edx, ecx
mov dword [0x4a1718], edx
jmp 0x408fb4
mov eax, 0xa19be065
mov ecx, dword [0x494090]
mov edx, esp
mov esi, dword [esp + 0x48]
mov dword [edx + 0xc], esi
mov dword [edx + 0x14], 0
mov dword [edx + 0x10], 0
mov dword [edx + 8], 0x41bdf0
mov dword [edx + 4], 0
mov dword [edx], 0
mov dword [esp + 0x38], eax
call ecx
sub esp, 0x18
mov dword [esp + 0x60], eax
mov di, word [0x49b134]
movsx eax, di
shl eax, 9
and eax, 0xddc134e1
or eax, 0x467de805
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jl 0x409029
mov eax, dword [0x49e714]
add eax, 0xb677deed
mov dword [0x49e714], eax
cmp dword [esp + 0x60], 0
je 0x40908c
mov eax, dword [0x4a73ec]
add eax, 0xfa9be32a
mov cx, word [0x49686c]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x49686c], cx
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov eax, dword [0x49e840]
add eax, 0x7f9b55fc
mov dword [0x49e840], eax
mov eax, dword [0x4940a0]
mov edx, dword [esp + 0x60]
mov esi, esp
mov dword [esi], edx
call eax
sub esp, 4
mov dword [0x4abb0c], 0xfb24a097
mov dword [esp + 0x34], eax
mov ax, word [0x494d50]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x494d50], ax
or ecx, 0xffdd
mov ax, word [0x499a6e]
mov dx, ax
sub edx, ecx
mov ax, dx
mov word [0x499a6e], ax
mov eax, dword [esp + 0x5c]
add eax, 1
mov dword [esp + 0x5c], eax
jmp 0x408f2f
mov eax, dword [0x4aa5d8]
xor eax, 0xb71900e
mov dword [0x4aa5d8], eax
cmp dword [esp + 0x64], 0
jle 0x40911e
mov eax, dword [0x4a2494]
imul eax, eax, 0x6fdffbfb
mov dword [0x4a2494], eax
mov ecx, dword [esp + 0x48]
call fcn.00421400
mov dx, word [0x49b784]
mov ax, dx
dec eax
mov dx, ax
mov word [0x49b784], dx
movsx eax, dx
or eax, 0x6951323c
mov dword [0x4a65d0], eax
mov eax, 0xde32bd6a
mov ecx, dword [0x4a4de4]
add ecx, 0xc29f06b7
mov edx, dword [0x4a8794]
dec edx
mov dword [0x4a8794], edx
xor ecx, edx
mov si, word [0x4996b4]
mov dx, si
and edx, ecx
mov si, dx
mov word [0x4996b4], si
mov ecx, dword [esp + 0x48]
add ecx, 0x38
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 0x14
mov dword [esp + 0x30], eax
call fcn.00435880
mov eax, dword [0x4a0db8]
mov ecx, eax
inc ecx
mov dword [0x4a0db8], ecx
mov ecx, 0xfff5073d
sub ecx, eax
mov eax, dword [0x4a79c4]
sub eax, ecx
mov dword [0x4a79c4], eax
mov eax, dword [esp + 0x48]
add eax, 0x4c
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], 0x14
call fcn.00435880
mov eax, dword [0x4a7bc0]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
je 0x409212
mov eax, dword [0x4a7a6c]
mov ecx, dword [0x4a2ef4]
imul ecx, ecx, 0xa513aa88
add eax, ecx
cmp eax, 0x29f2c41f
jl 0x40920d
mov eax, 0x1e160d87
mov ecx, dword [0x4a7358]
shl ecx, 2
and ecx, 0x443165f4
mov edx, dword [0x4a191c]
mov esi, edx
inc esi
mov dword [0x4a191c], esi
xor ecx, edx
cmp eax, ecx
je 0x409208
jmp 0x409208
jmp 0x40920d
jmp 0x40922a
mov ax, word [0x494272]
mov cx, ax
add ecx, 0x8185d0d6
mov ax, cx
mov word [0x494272], ax
mov eax, 0x504ec120
mov ecx, dword [0x4940cc]
mov edx, esp
mov esi, dword [esp + 0x48]
mov dword [edx], esi
mov dword [esp + 0x2c], eax
call ecx
sub esp, 4
mov eax, dword [0x4aa090]
mov ecx, eax
inc ecx
mov dword [0x4aa090], ecx
mov ecx, dword [0x49e148]
imul eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jle 0x40927d
mov eax, dword [0x4a867c]
add eax, 0xa19107f0
mov dword [0x4a867c], eax
jmp 0x4092b9
mov eax, 0xd5daaf0a
mov ecx, dword [0x4abdf4]
cmp eax, ecx
jg 0x4092b4
mov eax, 0xaf67992b
mov ecx, dword [0x4a4af0]
dec ecx
mov dword [0x4a4af0], ecx
cmp eax, ecx
jle 0x4092af
jmp 0x4092af
jmp 0x4092b4
jmp 0x4092b9
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x30]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0xaf1
call fcn.004018d0
mov si, word [0x498f70]
mov ax, si
or eax, 0x8246
mov si, ax
mov word [0x498f70], si
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x34]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x31e
call fcn.004018d0
mov si, word [0x49a518]
mov ax, si
and eax, 0x1e
mov si, ax
mov word [0x49a518], si
mov dword [esp + 0x58], 0
mov si, word [0x49a828]
movsx eax, si
not eax
add eax, 0x3e232532
mov ecx, dword [0x4abd48]
sub ecx, eax
mov dword [0x4abd48], ecx
mov eax, dword [esp + 0x48]
add eax, 0x80
mov ecx, eax
call fcn.0043d6d0
test al, 1
jne 0x409493
mov eax, dword [0x49f870]
xor eax, 0xba91d45f
mov dword [0x49f870], eax
call fcn.004371d0
mov dword [esp + 0x54], eax
mov cx, word [0x49434c]
mov ax, cx
xor eax, 0x1014
mov cx, ax
mov word [0x49434c], cx
mov eax, dword [esp + 0x48]
sub eax, 0xffffff80
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.00412590
mov ecx, dword [esp + 0x54]
xor edx, edx
mov dword [esp + 0x24], eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
div ecx
mov dword [esp + 0x54], edx
mov eax, dword [0x49e7e4]
add eax, 0x1e24b41a
mov dword [0x49e7e4], eax
mov eax, dword [esp + 0x54]
mov edx, esp
mov dword [edx], eax
mov ecx, dword [esp + 0x28]
call fcn.0044e320
sub esp, 4
mov ecx, eax
call fcn.00419390
mov ecx, dword [esp + 0x78]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00454780
mov ecx, dword [0x4a9180]
shr ecx, 5
and ecx, 0x26e5
mov si, word [0x494a76]
movsx edx, si
shr edx, 7
xor ecx, edx
mov si, word [0x49673a]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x49673a], si
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x54]
mov edi, esp
mov dword [edi], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x20], ecx
mov ecx, edx
mov dword [esp + 0x1c], eax
call fcn.0044e320
sub esp, 4
add eax, 0x14
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x20]
call fcn.00418670
sub esp, 4
mov si, word [0x49b41c]
mov cx, si
xor ecx, 0x5daf
mov si, cx
mov word [0x49b41c], si
mov dword [esp + 0x58], 1
mov ecx, dword [0x4a6a48]
or ecx, 0x5944ac82
mov edx, dword [0x4ab2dc]
and edx, ecx
mov dword [0x4ab2dc], edx
mov dword [esp + 0x18], eax
mov eax, dword [0x4aaed0]
and eax, 0x5e95b9f9
xor eax, 0x72824450
mov ecx, dword [0x4a3b7c]
or ecx, eax
mov dword [0x4a3b7c], ecx
mov eax, dword [esp + 0x58]
add esp, 0x7c
pop esi
pop edi
ret 8