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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], ecx
mov eax, ecx
mov edx, dword [0x497770]
mov esi, edx
inc esi
mov dword [0x497770], esi
xor edx, 0x4a4
mov di, word [0x499ca2]
mov si, di
sub esi, edx
mov di, si
mov word [0x499ca2], di
mov edx, esp
mov dword [edx + 4], 0x31e
mov dword [edx], 0x53fc
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
call fcn.0043a250
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0x34], eax
mov eax, dword [0x499984]
sar eax, 9
mov edx, dword [0x498e30]
or eax, edx
or eax, 0xda7474b2
mov dword [0x498e30], eax
mov eax, esp
mov dword [eax + 4], 0xaf1
mov dword [eax], 0x29e
call fcn.0043a250
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0x30], eax
mov di, word [0x499ca2]
mov ax, di
inc eax
mov bx, ax
mov word [0x499ca2], bx
movsx eax, di
mov di, word [0x49a9a2]
mov dx, di
inc edx
mov bx, dx
mov word [0x49a9a2], bx
movsx edx, di
imul edx, edx, 0xe6ffd951
sub eax, edx
mov di, word [0x49a498]
movsx edx, di
add edx, 0xed27269b
cmp eax, edx
je 0x402c5e
mov eax, 0x20202bc1
mov ecx, dword [0x4986b8]
inc ecx
mov dword [0x4986b8], ecx
sub eax, ecx
and eax, 0xb5ca19cb
cmp eax, 0xfbbf6fff
jne 0x402c49
mov eax, dword [0x4990a4]
mov cx, word [0x499c94]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x499c94], cx
jmp 0x402c59
mov eax, dword [0x497880]
imul eax, eax, 0x8352d9ba
mov dword [0x497880], eax
jmp 0x402c5e
mov eax, 0x40802080
mov ecx, dword [0x497580]
mov edx, esp
mov esi, dword [esp + 0x4c]
mov dword [edx], esi
mov dword [esp + 0x48], eax
call ecx
sub esp, 4
mov eax, dword [0x499960]
or eax, 0x47e080b9
mov dword [0x499960], eax
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x18], 0
mov di, word [0x49a8e2]
mov cx, di
or ecx, 0xc585
mov di, cx
mov word [0x49a8e2], di
mov byte [eax + 0x1c], 0
mov di, word [0x49a142]
mov cx, di
imul ecx, ecx, 0x38578f5
mov di, cx
mov word [0x49a142], di
mov dword [eax + 0x28], 0
mov ecx, dword [0x498b78]
add ecx, 0x95740000
mov dword [0x498b78], ecx
mov ecx, esp
mov dword [ecx + 4], 4
mov dword [ecx], 0x2e85
call fcn.0043a250
mov dword [esp + 0x6c], eax
mov eax, dword [0x498b24]
add eax, 0x31e9f8fd
mov dword [0x498b24], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x4c]
add ecx, 0x38
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00454960
mov ecx, dword [0x4985dc]
or ecx, 0xd04221cb
mov dword [0x4985dc], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x698d
mov dword [esp + 0x44], eax
call fcn.0043a250
mov dword [esp + 0x68], eax
mov eax, dword [0x497990]
add eax, 0x53290193
mov dword [0x497990], eax
mov eax, dword [esp + 0x6c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 4
call fcn.004050b0
mov eax, dword [0x497888]
imul eax, eax, 0x24a05cbd
mov dword [0x497888], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x4c]
add ecx, 0x4c
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00454960
mov di, word [0x49a100]
mov cx, di
and ecx, 0x68b7
mov di, cx
mov word [0x49a100], di
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x40], eax
call fcn.004050b0
mov eax, dword [0x499abc]
add eax, 0xe884a281
add eax, 0x1e4670ee
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jle 0x402df7
mov eax, dword [0x499474]
and eax, 0xb908847
mov dword [0x499474], eax
mov eax, 0x2dd21e54
mov ecx, esp
mov dword [ecx], 0
mov dword [esp + 0x3c], eax
call fcn.00450780
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov si, word [0x499ea8]
movsx eax, si
mov edi, dword [esp + 0x3c]
cmp edi, eax
mov dword [esp + 0x38], edx
jle 0x402e47
mov eax, dword [0x497d10]
inc eax
mov dword [0x497d10], eax
mov ecx, dword [0x499938]
xor ecx, eax
mov dword [0x499938], ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x20]
shr ecx, 9
mov dword [eax + 0x20], ecx
mov ecx, dword [0x498748]
or ecx, 0x239be71f
mov dword [0x498748], ecx
mov ecx, dword [eax + 0x20]
add ecx, 0x200
mov dword [eax + 0x24], ecx
mov ecx, dword [0x499a2c]
dec ecx
mov dword [0x499a2c], ecx
imul ecx, ecx, 0xaa096989
or ecx, 0x11a4a848
mov edx, dword [0x498d2c]
and edx, ecx
mov dword [0x498d2c], edx
mov dword [esp + 0x64], 0
mov ecx, dword [0x4977f8]
not ecx
mov edx, dword [0x498df8]
or edx, ecx
mov dword [0x498df8], edx
mov ecx, dword [0x498f20]
imul ecx, ecx, 0x526236d7
mov dword [0x498f20], ecx
mov dword [esp + 0x5c], 0
cmp dword [esp + 0x5c], 0x28
je 0x402ff9
mov eax, dword [0x499ae8]
or eax, 0x55babfa7
mov dword [0x499ae8], eax
mov eax, dword [0x497550]
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], 0x417360
mov dword [ecx + 4], 0
mov dword [ecx], 0
call eax
sub esp, 0x18
mov dword [esp + 0x60], eax
mov eax, dword [0x498a34]
cmp eax, 0xdffaf5fd
jge 0x402f43
mov eax, dword [0x497f60]
add eax, 0x6b8fcc58
mov dword [0x497f60], eax
cmp dword [esp + 0x60], 0
je 0x402fce
mov eax, dword [0x498500]
mov ecx, eax
dec ecx
mov dword [0x498500], ecx
mov ecx, dword [0x498b04]
lea eax, [eax + ecx - 1]
and eax, 0x15d3fc9f
mov ecx, dword [0x4997a4]
imul ecx, ecx, 0xce7cca40
cmp eax, ecx
jne 0x402f8e
mov eax, dword [0x498e98]
add eax, 0x100309
mov dword [0x498e98], eax
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov eax, dword [0x497dd0]
add eax, 0xc889fb10
mov dword [0x497dd0], eax
mov eax, dword [0x497560]
mov ecx, dword [esp + 0x60]
mov edx, esp
mov dword [edx], ecx
call eax
sub esp, 4
mov ecx, dword [0x49793c]
imul ecx, ecx, 0x49c5896b
mov dword [0x49793c], ecx
mov dword [esp + 0x34], eax
mov eax, dword [0x497dac]
sar eax, 9
mov ecx, 0x10b9c0c5
sub ecx, eax
mov eax, dword [0x499118]
sub eax, ecx
mov dword [0x499118], eax
mov eax, dword [esp + 0x5c]
add eax, 1
mov dword [esp + 0x5c], eax
jmp 0x402ed1
mov ax, word [0x49a764]
mov cx, ax
xor ecx, 0x6ec4
mov ax, cx
mov word [0x49a764], ax
cmp dword [esp + 0x64], 0
jle 0x403047
mov dword [0x49784c], 0x2066d55
mov ecx, dword [esp + 0x4c]
call fcn.0042b820
mov ax, word [0x49a7ca]
mov cx, ax
add ecx, 0xd576683e
mov ax, cx
mov word [0x49a7ca], ax
mov eax, 0x80c1000a
mov ecx, dword [0x498f88]
imul ecx, ecx, 0xbb566b50
mov dword [0x498f88], ecx
mov ecx, dword [esp + 0x4c]
add ecx, 0x38
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 0x14
mov dword [esp + 0x30], eax
call fcn.0044b180
mov eax, dword [0x499644]
xor eax, 0xffffffff
mov ecx, dword [esp + 0x30]
cmp ecx, eax
jle 0x4030e6
mov eax, dword [0x498f14]
imul eax, eax, 0xb426c4f2
or eax, 0xa6d61be1
mov ecx, dword [0x498828]
mov edx, ecx
inc edx
mov dword [0x498828], edx
and ecx, 0xc6a83e37
cmp eax, ecx
jle 0x4030e1
mov eax, 0xb1469e
mov cx, word [0x49aa30]
movsx edx, cx
and edx, 0xca862aad
cmp eax, edx
je 0x4030dc
jmp 0x4030dc
jmp 0x4030e1
jmp 0x4030e6
mov eax, 0xdefe3d86
mov ecx, dword [esp + 0x4c]
add ecx, 0x4c
mov edx, esp
mov dword [edx], ecx
mov dword [edx + 4], 0x14
mov dword [esp + 0x2c], eax
call fcn.0044b180
mov eax, dword [0x4999e4]
or eax, 0x8d614882
mov dword [0x4999e4], eax
mov eax, dword [0x49758c]
mov ecx, esp
mov edx, dword [esp + 0x4c]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [0x4993d4]
xor eax, 0x709d1975
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jg 0x403151
mov eax, dword [0x498394]
or eax, 0x2f3c5450
mov dword [0x498394], eax
jmp 0x403161
mov eax, dword [0x499598]
imul eax, eax, 0xb462ff2b
mov dword [0x499598], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x30]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0xaf1
call fcn.004050b0
mov word [0x499eca], 0x3581
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x34]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x31e
call fcn.004050b0
mov eax, dword [0x499514]
mov ecx, eax
inc ecx
mov dword [0x499514], ecx
xor eax, 0xf90f9922
mov ecx, dword [0x498f6c]
sub ecx, eax
mov dword [0x498f6c], ecx
mov dword [esp + 0x58], 0
mov eax, dword [0x497634]
xor eax, 0x400591b
mov dword [0x497634], eax
mov eax, dword [esp + 0x4c]
add eax, 0x80
mov ecx, eax
call fcn.00440d00
test al, 1
jne 0x403327
mov eax, dword [0x4980a8]
imul eax, eax, 0x57636a18
mov dword [0x4980a8], eax
call fcn.00416c50
mov dword [esp + 0x54], eax
mov eax, dword [0x4978e4]
xor eax, 0xa19ec748
mov ecx, dword [0x4983f8]
and ecx, eax
mov dword [0x4983f8], ecx
mov eax, dword [esp + 0x4c]
sub eax, 0xffffff80
mov ecx, eax
mov dword [esp + 0x28], eax
call fcn.00449690
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 [0x499080]
inc eax
mov dword [0x499080], eax
mov edx, dword [0x499808]
or eax, edx
or eax, 0xd142d9e2
mov dword [0x499808], eax
mov eax, dword [esp + 0x54]
mov edx, esp
mov dword [edx], eax
mov ecx, dword [esp + 0x28]
call fcn.00449da0
sub esp, 4
mov ecx, eax
call fcn.00430970
mov ecx, dword [esp + 0x78]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00454960
mov si, word [0x49a1ec]
mov cx, si
add ecx, 0xfe82adff
mov si, cx
mov word [0x49a1ec], 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.00449da0
sub esp, 4
add eax, 0x14
mov ecx, esp
mov dword [ecx], eax
mov ecx, dword [esp + 0x20]
call fcn.00440c50
sub esp, 4
mov ecx, dword [0x498d20]
mov si, word [0x49a18c]
mov dx, si
or edx, ecx
mov si, dx
mov word [0x49a18c], si
mov dword [esp + 0x58], 1
mov ecx, dword [0x498280]
dec ecx
mov dword [0x498280], ecx
xor ecx, 0xc62000
or ecx, 0x1e384abf
mov edx, dword [0x497dcc]
sub edx, ecx
mov dword [0x497dcc], edx
mov dword [esp + 0x18], eax
mov eax, dword [0x497e3c]
not eax
add eax, 0xec074990
mov ecx, dword [0x4979c0]
and ecx, eax
mov dword [0x4979c0], ecx
mov eax, dword [esp + 0x58]
add esp, 0x7c
pop esi
pop edi
pop ebx
ret 8