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

Disassembly:
push esi
push ebx
push ebp
fldcw word [0x58ac6c]
sub esp, 0x9c
mov edx, edi
xor eax, eax
mov edi, esp
mov ecx, 0x27
rep stosd dword es:[edi], eax
mov edi, edx
mov ecx, dword [0x58ac74]
mov ebp, dword fs:[0x2c]
mov ebp, dword [ebp + ecx*4]
xor eax, eax
inc eax
lock xadd dword [ebp + 0x10], eax
push eax
push 0x5c00c8
push 0
push 0
push dword [ebp]
mov dword [ebp], esp
cmp dword [ebp + 0xc], 0
jne 0x5487eb
push dword [esp + 0xc0]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x49129b
mov eax, dword [eax]
mov dword [esp + 0x28], 0x808fffff
call dword [eax + 4]
lea esp, [esp + 4]
nop dword [eax]
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0x148
mov eax, dword [eax]
push eax
push 0
push dword [esp + 4]
mov dword [esp + 0x30], 0x810003eb
call fcn.00527514
test eax, eax
sete al
movzx eax, al
neg eax
test ax, ax
lea ecx, [esp + 0x68]
mov eax, dword [ecx]
mov dword [ecx], 0
push eax
setne byte [esp]
test eax, eax
je 0x4909fa
push eax
mov eax, dword [eax]
mov dword [esp + 0x30], 0x810003eb
call dword [eax + 8]
cmp byte [esp], 0
lea esp, [esp + 0xc]
je 0x4911ce
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0x148
mov eax, dword [eax]
push eax
push 0
mov eax, dword [esp + 4]
test eax, eax
je 0x490a56
lea eax, [esp]
push eax
push 0x569dec
push dword [esp + 0xc]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x38], 0x818003ed
call dword [eax]
cmp eax, 0
jl 0x4912b3
push dword [esp]
mov ebx, dword [esp]
lea esi, [esp + 0x60]
mov eax, dword [esi]
mov dword [esi], ebx
test eax, eax
je 0x490a7f
push eax
mov eax, dword [eax]
mov dword [esp + 0x34], 0x814003ed
call dword [eax + 8]
lea ecx, [esp + 0x74]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x490aa1
push eax
mov eax, dword [eax]
mov dword [esp + 0x34], 0x814003ed
call dword [eax + 8]
lea esp, [esp + 0x10]
nop dword [eax]
mov eax, dword [esp + 0xc4]
push dword [eax]
push 4
push dword [esp + 4]
mov dword [esp + 0x2c], 0x80c003f0
call fcn.004907fd
push eax
mov edx, dword [esp]
mov dword [esp + 0x70], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x4912c4
push dword [esp + 0x70]
mov edx, dword [esp]
mov dword [esp + 0x60], edx
lea esp, [esp + 0xc]
nop dword [eax]
mov eax, dword [esp + 0xc4]
push dword [eax]
push 0
push 0
push 0
push dword [esp + 0xc]
mov dword [esp + 0x34], 0x814003f1
call fcn.0048ff68
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x4912d9
lea esp, [esp + 4]
nop dword [eax]
push dword [esp + 0x50]
lea eax, [esp + 0x70]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x49132f
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c003f8
call dword [eax + 0x14]
mov dword [esp + 0xc], eax
cmp eax, 0
jl 0x49131a
push dword [esp + 0x70]
mov eax, dword [esp]
cmp eax, 2
push dword [esp + 0x58]
push eax
sete byte [esp]
lea eax, [esp + 0x80]
push eax
push dword [esp + 8]
mov eax, dword [esp]
test eax, eax
je 0x491310
mov eax, dword [eax]
mov dword [esp + 0x38], 0x818003f8
call dword [eax + 0x14]
mov dword [esp + 0x18], eax
cmp eax, 0
jl 0x4912ed
push dword [esp + 0x80]
mov eax, dword [esp]
cmp eax, 4
mov al, byte [esp + 4]
movzx eax, al
push eax
sete byte [esp]
neg eax
mov dl, byte [esp]
movzx edx, dl
neg edx
or eax, edx
push eax
mov ax, word [esp]
test ax, ax
lea esp, [esp + 0x1c]
je 0x490cee
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0xd8
mov ax, word [eax]
push eax
mov ax, word [esp]
test ax, ax
lea esp, [esp + 8]
je 0x490c55
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0x8c
mov eax, dword [eax]
push eax
mov edx, dword [esp]
mov dword [esp + 0x60], edx
lea esp, [esp + 8]
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0x90
mov eax, dword [eax]
push eax
mov edx, dword [esp]
mov dword [esp + 0x64], edx
lea esp, [esp + 8]
jmp 0x490ce6
nop dword [eax]
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0x84
mov eax, dword [eax]
push eax
push dword [esp + 0xc8]
mov eax, dword [esp]
add eax, 0x7c
mov eax, dword [eax]
push eax
mov eax, dword [esp + 8]
sub eax, dword [esp]
jo 0x491339
push eax
mov edx, dword [esp]
mov dword [esp + 0x6c], edx
lea esp, [esp + 0x14]
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0x88
mov eax, dword [eax]
push eax
push dword [esp + 0xc8]
mov eax, dword [esp]
add eax, 0x80
mov eax, dword [eax]
push eax
mov eax, dword [esp + 8]
sub eax, dword [esp]
jo 0x491352
push eax
mov edx, dword [esp]
mov dword [esp + 0x70], edx
lea esp, [esp + 0x14]
nop dword [eax]
jmp 0x491000
nop dword [eax]
nop dword [eax]
push dword [esp + 0x50]
lea eax, [esp + 0x78]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x4913d4
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c00402
call dword [eax + 0x14]
mov dword [esp + 0xc], eax
cmp eax, 0
jl 0x4913bf
push dword [esp + 0x54]
lea eax, [esp + 0x80]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x4913b5
mov eax, dword [eax]
mov dword [esp + 0x30], 0x81000402
call dword [eax + 0x18]
mov dword [esp + 0x10], eax
cmp eax, 0
jl 0x49139f
push dword [esp + 0x58]
lea eax, [esp + 0x88]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x491395
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400402
call dword [eax + 0x1c]
mov dword [esp + 0x14], eax
cmp eax, 0
jl 0x49137e
push dword [esp + 0x88]
push dword [esp + 0x88]
push dword [esp + 0x88]
lea eax, [esp + 0x74]
push eax
push dword [esp + 0xc]
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x10]
push dword [esp + 0x10]
mov dword [esp + 0x4c], 0x82c00402
call fcn.004904bb
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x491368
lea esp, [esp + 0x18]
nop dword [eax]
push dword [esp + 0xc0]
mov eax, dword [esp]
add eax, 0xa0
mov ax, word [eax]
push eax
mov ax, word [esp]
push eax
mov ax, word [esp]
cmp ax, 0xffff
sete al
movzx eax, al
neg eax
test ax, ax
lea esp, [esp + 0xc]
je 0x491000
nop dword [eax]
push dword [esp + 0x58]
fild dword [esp]
push dword [esp + 0xc4]
mov eax, dword [esp]
add eax, 0x13c
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x490e59
push eax
mov eax, dword [eax]
mov dword [esp + 0x30], 0x81000404
call dword [eax + 4]
lea esi, [esp + 0x8c]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
test eax, eax
je 0x490e81
push eax
mov eax, dword [eax]
mov dword [esp + 0x30], 0x81000404
call dword [eax + 8]
lea eax, [esp + 0x94]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x491418
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400404
call dword [eax + 0x14]
mov dword [esp + 0x14], eax
cmp eax, 0
jl 0x491401
lea ecx, [esp + 0x94]
fld qword [ecx]
fmulp st(1)
push 0
frndint
fistp dword [esp]
fnstsw ax
test ax, 4
jne 0x4913f7
test ax, 9
jne 0x4913de
mov edx, dword [esp]
mov dword [esp + 0x68], edx
lea ecx, [esp + 0x90]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x490f0c
push eax
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400404
call dword [eax + 8]
lea esp, [esp + 0x10]
nop dword [eax]
push dword [esp + 0x5c]
fild dword [esp]
push dword [esp + 0xc4]
mov eax, dword [esp]
add eax, 0x13c
mov eax, dword [eax]
push eax
mov eax, dword [esp]
test eax, eax
je 0x490f49
push eax
mov eax, dword [eax]
mov dword [esp + 0x30], 0x81000405
call dword [eax + 4]
lea esi, [esp + 0x9c]
mov eax, dword [esi]
mov ebx, dword [esp]
mov dword [esi], ebx
test eax, eax
je 0x490f71
push eax
mov eax, dword [eax]
mov dword [esp + 0x30], 0x81000405
call dword [eax + 8]
lea eax, [esp + 0xa4]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x491459
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400405
call dword [eax + 0x14]
mov dword [esp + 0x14], eax
cmp eax, 0
jl 0x491442
lea ecx, [esp + 0xa4]
fld qword [ecx]
fmulp st(1)
push 0
frndint
fistp dword [esp]
fnstsw ax
test ax, 4
jne 0x491438
test ax, 9
jne 0x491422
mov edx, dword [esp]
mov dword [esp + 0x6c], edx
lea ecx, [esp + 0xa0]
mov eax, dword [ecx]
mov dword [ecx], 0
test eax, eax
je 0x490ffc
push eax
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400405
call dword [eax + 8]
lea esp, [esp + 0x10]
nop dword [eax]
push dword [esp + 0x58]
mov eax, dword [esp]
cmp eax, 0
push dword [esp + 0x60]
mov eax, dword [esp]
push eax
setg byte [esp]
cmp eax, 0
mov al, byte [esp]
movzx eax, al
push eax
setg byte [esp]
neg eax
mov dl, byte [esp]
movzx edx, dl
neg edx
and ax, dx
push eax
mov ax, word [esp]
test ax, ax
lea esp, [esp + 0x14]
je 0x491188
nop dword [eax]
push dword [esp + 0x50]
lea eax, [esp + 0xa4]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x4914f3
mov eax, dword [eax]
mov dword [esp + 0x2c], 0x80c00409
call dword [eax + 0x1c]
mov dword [esp + 0xc], eax
cmp eax, 0
jl 0x4914de
push dword [esp + 0x54]
lea eax, [esp + 0xac]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x4914d4
mov eax, dword [eax]
mov dword [esp + 0x30], 0x81000409
call dword [eax + 0x18]
mov dword [esp + 0x10], eax
cmp eax, 0
jl 0x4914be
push dword [esp + 0x58]
lea eax, [esp + 0xb4]
push eax
push dword [esp + 4]
mov eax, dword [esp]
test eax, eax
je 0x4914b4
mov eax, dword [eax]
mov dword [esp + 0x34], 0x81400409
call dword [eax + 0x1c]
mov dword [esp + 0x14], eax
cmp eax, 0
jl 0x49149d
push dword [esp + 0xb4]
mov eax, dword [esp]
cmp eax, 0x80000000
je 0x491493
neg eax
push eax
push dword [esp + 0xb8]
push dword [esp + 0xb8]
push dword [esp + 0x78]
push dword [esp + 0x78]
mov eax, dword [esp + 0xe8]
push dword [eax]
push dword [esp + 0x78]
push 0
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push 0
push dword [esp + 0x20]
push dword [esp + 0x20]
push 0
push 0
push dword [esp + 0x28]
push dword [esp + 0x28]
mov eax, dword [esp]
test eax, eax
je 0x491489
mov eax, dword [eax]
mov dword [esp + 0x78], 0x85800409
call dword [eax + 0x20]
mov dword [esp + 0x34], eax
cmp eax, 0
jl 0x491463
lea esp, [esp + 0x2c]
nop dword [eax]
push dword [esp + 0x54]
mov eax, dword [esp + 0xc8]
push dword [eax]
push dword [esp + 4]
push dword [esp + 4]
mov dword [esp + 0x30], 0x8100040b
call fcn.004907fd
push eax
mov edx, dword [esp]
mov dword [esp + 0xb8], edx
mov ecx, dword [ebp + 0x24]
test ecx, ecx
jne 0x491500
push dword [esp + 0xb8]
lea esp, [esp + 0x10]
nop dword [eax]
lea ecx, [esp + 0x50]
mov eax, dword [ecx]
test eax, eax
je 0x4911ed
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040040e
call dword [eax + 8]
lea ecx, [esp + 0x60]
mov eax, dword [ecx]
test eax, eax
je 0x491209
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040040e
call dword [eax + 8]
lea ecx, [esp + 0x64]
mov eax, dword [ecx]
test eax, eax
je 0x491225
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040040e
call dword [eax + 8]
lea ecx, [esp + 0x80]
mov eax, dword [ecx]
test eax, eax
je 0x491244
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040040e
call dword [eax + 8]
lea ecx, [esp + 0x90]
mov eax, dword [ecx]
test eax, eax
je 0x491263
push eax
mov eax, dword [eax]
mov dword [esp + 0x24], 0x8040040e
call dword [eax + 8]
push dword [esp + 0xc0]
push dword [esp]
mov eax, dword [esp]
test eax, eax
je 0x99e2ac12
mov eax, dword [eax]
mov dword [esp + 0x28], 0x8080040e
call dword [eax + 8]
lea esp, [esp + 4]
pop ecx
mov dword [ebp], ecx
pop eax
add esp, 0xa8
pop ebp
pop ebx
pop esi
ret 8
pop edx
pop edx
mov eax, 0x800a005b
push eax
push eax
push 0x3000
push 0x3c003ea
call fcn.00560734
add esp, 0xc
push eax
push eax
push 0x99000
push 0x74803ed
jmp 0x4912ae
pop edx
pop edx
mov eax, 0xeaeaea02
push eax
push eax
push 0x47000
push 0xc1003f0
jmp 0x4912ae
pop edx
mov eax, 0xeaeaea02
push eax
push eax
push 0x32000
push 0xe4803f1
jmp 0x4912ae
add esp, 0x10
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 0xc]
mov dword [ebp + 0x14], eax
mov eax, 0x569d4c
mov dword [ebp + 0x18], eax
push eax
push eax
push 0xc1000
push 0xfd803f8
jmp 0x4912ae
add esp, 0x18
mov eax, 0x800a005b
jmp 0x491302
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 4]
mov dword [ebp + 0x14], eax
mov eax, 0x569d3c
mov dword [ebp + 0x18], eax
jmp 0x491302
add esp, 0xc
mov eax, 0x800a005b
jmp 0x491302
add esp, 0x10
mov eax, 0x8002000a
push eax
push eax
push 0x47000
push 0x19a803fe
call fcn.00560734
add esp, 0x10
mov eax, 0x8002000a
push eax
push eax
push 0x47000
push 0x1be003ff
jmp 0x49134d
add esp, 0x18
mov eax, 0xeaeaea02
push eax
push eax
push 0xef000
push 0x1e700402
jmp 0x49134d
add esp, 0xc
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 0xc]
mov dword [ebp + 0x14], eax
mov eax, 0x569d7c
mov dword [ebp + 0x18], eax
jmp 0x491370
add esp, 0x14
mov eax, 0x800a005b
jmp 0x491370
pop edx
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 8]
mov dword [ebp + 0x14], eax
mov eax, 0x569d6c
mov dword [ebp + 0x18], eax
jmp 0x491370
add esp, 0x10
mov eax, 0x800a005b
jmp 0x491370
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 4]
mov dword [ebp + 0x14], eax
mov eax, 0x569d5c
mov dword [ebp + 0x18], eax
jmp 0x491370
add esp, 0xc
mov eax, 0x800a005b
jmp 0x491370
add esp, 0x10
mov eax, 0x8002000a
push eax
push eax
push 0xf0000
push 0x27e80404
call fcn.00560734
add esp, 0x10
mov eax, 0x80020012
jmp 0x4913e6
add esp, 0xc
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 0xc]
mov dword [ebp + 0x14], eax
mov eax, 0x569d8c
mov dword [ebp + 0x18], eax
jmp 0x4913e6
add esp, 0x14
mov eax, 0x800a005b
jmp 0x4913e6
add esp, 0x10
mov eax, 0x8002000a
push eax
push eax
push 0xf0000
push 0x2f680405
jmp 0x4913f2
add esp, 0x10
mov eax, 0x80020012
jmp 0x49142a
add esp, 0xc
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 0xc]
mov dword [ebp + 0x14], eax
mov eax, 0x569d9c
mov dword [ebp + 0x18], eax
jmp 0x49142a
add esp, 0x14
mov eax, 0x800a005b
jmp 0x49142a
add esp, 0x2c
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 0x2c]
mov dword [ebp + 0x14], eax
mov eax, 0x569ddc
mov dword [ebp + 0x18], eax
push eax
push eax
push 0x136000
push 0x39780409
call fcn.00560734
add esp, 0x58
mov eax, 0x800a005b
jmp 0x491478
add esp, 0x10
mov eax, 0x8002000a
jmp 0x491478
add esp, 0xc
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 0xc]
mov dword [ebp + 0x14], eax
mov eax, 0x569dcc
mov dword [ebp + 0x18], eax
jmp 0x491478
add esp, 0x14
mov eax, 0x800a005b
jmp 0x491478
pop edx
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 8]
mov dword [ebp + 0x14], eax
mov eax, 0x569dbc
mov dword [ebp + 0x18], eax
jmp 0x491478
add esp, 0x10
mov eax, 0x800a005b
jmp 0x491478
pop edx
mov dword [ebp + 0x1c], eax
mov eax, dword [esp - 4]
mov dword [ebp + 0x14], eax
mov eax, 0x569dac
mov dword [ebp + 0x18], eax
jmp 0x491478
add esp, 0xc
mov eax, 0x800a005b
jmp 0x491478
add esp, 0xc
mov eax, 0xeaeaea02
push eax
push eax
push 0x46000
push 0x4328040b
call fcn.00560734