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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5efda8
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push esi
push edi
mov eax, dword [0x615cbc]
xor eax, esp
push eax
lea eax, [esp + 0xb0]
mov dword fs:[0], eax
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x8c]
call fcn.00590c50
xor eax, eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], eax
mov dword [esp + 0x7c], eax
cmp byte [ebp + 0x1c], 0
mov eax, dword [esp + 0x5c]
mov ebx, dword [ebp + 0x14]
mov byte [esp + 0xb8], 1
je 0x4906c9
mov cl, byte [eax + 0x1a]
mov edx, dword [eax + 0xcc]
mov edi, dword [eax + 0xc8]
mov esi, dword [eax + 0xd0]
mov dword [esp + 0x20], ebx
mov byte [esp + 0x64], cl
mov dword [esp + 0x44], edx
jmp 0x4906e7
mov ecx, dword [ebp + 0x18]
mov dl, byte [eax + 0x1b]
mov edi, dword [eax + 0xcc]
mov esi, dword [eax + 0xd4]
mov dword [esp + 0x20], ecx
mov byte [esp + 0x64], dl
mov dword [esp + 0x44], ebx
mov eax, dword [esp + 0x44]
imul eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x6c], ecx
push eax
lea ecx, [esp + 0x70]
dec esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x74], 1
call fcn.00412980
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x48]
cmp dword [eax + 8], ecx
mov byte [esp + 0xb8], 2
jl 0x490742
mov edx, ecx
push edx
lea ecx, [esp + 0x80]
call fcn.00412880
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
jmp 0x49074a
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x20]
lea ecx, [esi + 1]
add esi, eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x54], esi
mov dword [esp + 0x24], 0
test eax, eax
jle 0x490cc2
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
jmp 0x490780
cmp byte [ebp + 0x1c], 0
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ebp + 0x10]
push edi
push eax
mov eax, dword [esp + 0x6c]
push ecx
push edx
lea ecx, [esp + 0xa4]
je 0x4907b1
add eax, 0xf4
jmp 0x4907b6
add eax, 0x100
push eax
call fcn.00590ce0
xor eax, eax
cmp dword [esp + 0x44], eax
mov dword [esp + 0x34], eax
jle 0x490ca0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*2]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x58], edx
xorps xmm3, xmm3
mov ecx, dword [esp + 0x9c]
cmp ecx, dword [esp + 0xa0]
movapd xmm7, xmm3
movapd xmm0, xmm3
movapd xmm1, xmm3
movapd xmm2, xmm3
mov esi, ecx
jg 0x490c50
mov eax, dword [esp + 0xa0]
sub eax, ecx
inc eax
cmp eax, 4
jl 0x490b66
mov eax, edi
imul eax, ebx
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0xa0]
mov eax, ecx
imul eax, ebx
mov dword [esp + 0x1c], eax
lea eax, [ecx + 3]
imul eax, ebx
add edx, 0xfffffffd
mov dword [esp + 0x30], eax
mov eax, ecx
mov dword [esp + 0x88], edx
sub eax, edi
lea edx, [eax + 2]
add ecx, 2
mov dword [esp + 0x4c], edx
mov edx, ecx
imul edx, ebx
imul eax, ebx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x8c]
lea ecx, [eax + ecx*8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x50], ecx
movsd xmm6, qword [ecx - 0x10]
ucomisd xmm6, xmm3
lahf
test ah, 0x44
jnp 0x49092f
cmp esi, edi
mov ecx, dword [esp + 0x1c]
mov eax, esi
jl 0x4908ae
mov ecx, dword [esp + 0x60]
lea eax, [edx - 2]
cmp byte [ebp + 0x1c], 0
je 0x4908bc
mov ecx, dword [esp + 0x18]
add eax, ecx
jmp 0x4908c3
mov edx, dword [esp + 0x34]
lea eax, [ecx + edx]
cmp dword [esp + 0x14], 0
je 0x4908e4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsd xmm3, qword [edx + eax*8]
mulsd xmm3, xmm6
movapd xmm6, xmm3
addsd xmm3, xmm7
movapd xmm7, xmm3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*2]
movsd xmm3, qword [edx + eax*8]
movsd xmm4, qword [edx + eax*8 + 8]
movsd xmm5, qword [edx + eax*8 + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x4c]
mulsd xmm3, xmm6
addsd xmm3, xmm0
mulsd xmm4, xmm6
mulsd xmm5, xmm6
movapd xmm0, xmm3
xorps xmm3, xmm3
addsd xmm4, xmm1
addsd xmm5, xmm2
movapd xmm1, xmm4
movapd xmm2, xmm5
mov eax, dword [esp + 0x50]
movsd xmm6, qword [eax - 8]
ucomisd xmm6, xmm3
lahf
test ah, 0x44
jnp 0x4909db
mov ecx, dword [esp + 0x1c]
lea eax, [edi + edx - 1]
add ecx, ebx
cmp eax, edi
jl 0x49095b
sub ecx, dword [esp + 0x68]
lea eax, [edx - 1]
cmp byte [ebp + 0x1c], 0
je 0x490969
mov edx, dword [esp + 0x18]
add eax, edx
jmp 0x49096f
mov eax, dword [esp + 0x34]
add eax, ecx
cmp dword [esp + 0x14], 0
je 0x490990
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsd xmm3, qword [edx + eax*8]
mulsd xmm3, xmm6
movapd xmm6, xmm3
addsd xmm3, xmm7
movapd xmm7, xmm3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*2]
movsd xmm3, qword [edx + eax*8]
movsd xmm4, qword [edx + eax*8 + 8]
movsd xmm5, qword [edx + eax*8 + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x4c]
mulsd xmm3, xmm6
addsd xmm3, xmm0
mulsd xmm4, xmm6
mulsd xmm5, xmm6
movapd xmm0, xmm3
xorps xmm3, xmm3
addsd xmm4, xmm1
addsd xmm5, xmm2
movapd xmm1, xmm4
movapd xmm2, xmm5
mov eax, dword [esp + 0x50]
movsd xmm6, qword [eax]
ucomisd xmm6, xmm3
lahf
test ah, 0x44
jnp 0x490a83
mov ecx, dword [esp + 0x2c]
lea eax, [edx + edi]
cmp eax, edi
jl 0x490a02
sub ecx, dword [esp + 0x68]
mov eax, edx
cmp byte [ebp + 0x1c], 0
je 0x490a10
mov ecx, dword [esp + 0x18]
add eax, ecx
jmp 0x490a17
mov edx, dword [esp + 0x34]
lea eax, [ecx + edx]
cmp dword [esp + 0x14], 0
je 0x490a38
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsd xmm3, qword [edx + eax*8]
mulsd xmm3, xmm6
movapd xmm6, xmm3
addsd xmm3, xmm7
movapd xmm7, xmm3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*2]
movsd xmm3, qword [edx + eax*8]
movsd xmm4, qword [edx + eax*8 + 8]
movsd xmm5, qword [edx + eax*8 + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x4c]
mulsd xmm3, xmm6
addsd xmm3, xmm0
mulsd xmm4, xmm6
mulsd xmm5, xmm6
movapd xmm0, xmm3
xorps xmm3, xmm3
addsd xmm4, xmm1
addsd xmm5, xmm2
movapd xmm1, xmm4
movapd xmm2, xmm5
mov eax, dword [esp + 0x50]
movsd xmm6, qword [eax + 8]
ucomisd xmm6, xmm3
lahf
test ah, 0x44
jnp 0x490b2d
mov ecx, dword [esp + 0x30]
lea eax, [esi + 3]
cmp eax, edi
jl 0x490aac
sub ecx, dword [esp + 0x68]
lea eax, [edx + 1]
cmp byte [ebp + 0x1c], 0
je 0x490aba
mov ecx, dword [esp + 0x18]
add eax, ecx
jmp 0x490ac1
mov edx, dword [esp + 0x34]
lea eax, [ecx + edx]
cmp dword [esp + 0x14], 0
je 0x490ae2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
movsd xmm3, qword [edx + eax*8]
mulsd xmm3, xmm6
movapd xmm6, xmm3
addsd xmm3, xmm7
movapd xmm7, xmm3
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*2]
movsd xmm3, qword [edx + eax*8]
movsd xmm4, qword [edx + eax*8 + 8]
movsd xmm5, qword [edx + eax*8 + 0x10]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x4c]
mulsd xmm3, xmm6
addsd xmm3, xmm0
mulsd xmm4, xmm6
mulsd xmm5, xmm6
movapd xmm0, xmm3
xorps xmm3, xmm3
addsd xmm4, xmm1
addsd xmm5, xmm2
movapd xmm1, xmm4
movapd xmm2, xmm5
mov ecx, dword [esp + 0x50]
lea eax, [ebx*4]
add dword [esp + 0x1c], eax
add dword [esp + 0x60], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x30], eax
add esi, 4
add ecx, 0x20
add edx, 4
cmp esi, dword [esp + 0x88]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], edx
jle 0x49088a
cmp esi, dword [esp + 0xa0]
jg 0x490c50
mov eax, esi
sub eax, edi
mov ecx, esi
mov dword [esp + 0x2c], eax
imul ecx, ebx
imul eax, ebx
mov dword [esp + 0x30], eax
jmp 0x490b90
mov eax, dword [esp + 0x8c]
movsd xmm6, qword [eax + esi*8]
ucomisd xmm6, xmm3
lahf
test ah, 0x44
jnp 0x490c38
cmp esi, dword [esp + 0x28]
mov eax, esi
mov edi, ecx
jl 0x490bbc
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x30]
cmp byte [ebp + 0x1c], 0
je 0x490bca
mov edx, dword [esp + 0x18]
add eax, edx
jmp 0x490bd0
mov eax, dword [esp + 0x34]
add eax, edi
cmp dword [esp + 0x14], 0
je 0x490bf1
mov edx, dword [ebp + 0xc]
mov edx, dword [edx]
movsd xmm3, qword [edx + eax*8]
mulsd xmm3, xmm6
movapd xmm6, xmm3
addsd xmm3, xmm7
movapd xmm7, xmm3
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov edi, dword [esp + 0x28]
lea eax, [eax + eax*2]
movsd xmm3, qword [edx + eax*8]
movsd xmm4, qword [edx + eax*8 + 8]
movsd xmm5, qword [edx + eax*8 + 0x10]
lea eax, [edx + eax*8]
mulsd xmm3, xmm6
addsd xmm3, xmm0
mulsd xmm4, xmm6
mulsd xmm5, xmm6
movapd xmm0, xmm3
xorps xmm3, xmm3
addsd xmm4, xmm1
addsd xmm5, xmm2
movapd xmm1, xmm4
movapd xmm2, xmm5
add dword [esp + 0x30], ebx
inc dword [esp + 0x2c]
inc esi
add ecx, ebx
cmp esi, dword [esp + 0xa0]
jle 0x490b90
cmp dword [esp + 0x14], 0
mov eax, dword [esp + 0x58]
movq qword [eax], xmm0
movq qword [eax + 8], xmm1
movq qword [eax + 0x10], xmm2
je 0x490c71
mov ecx, dword [esp + 0x38]
movsd qword [ecx], xmm7
add eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
add dword [esp + 0x18], ebx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
add eax, eax
add eax, eax
add eax, eax
add dword [esp + 0x38], eax
inc ecx
cmp ecx, dword [esp + 0x44]
mov dword [esp + 0x34], ecx
jl 0x4907f1
jmp 0x490ca3
xorps xmm3, xmm3
mov eax, dword [esp + 0x24]
add dword [esp + 0x40], 8
add dword [esp + 0x3c], 0x18
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
jl 0x490780
jmp 0x490cc5
xorps xmm3, xmm3
xor eax, eax
cmp dword [esp + 0x44], eax
mov dword [esp + 0x24], eax
jle 0x491096
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x14]
lea ecx, [ecx + ecx*2]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add edx, 0x10
add edi, 8
mov dword [esp + 0x38], eax
mov dword [esp + 0x18], 2
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], edi
jmp 0x490d10
xor esi, esi
cmp dword [esp + 0x20], 4
jl 0x490f86
lea ecx, [eax + ebx*2]
add ecx, ebx
mov dword [esp + 0x1c], eax
lea eax, [eax + ebx*2]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov ecx, edx
cmp dword [esp + 0x14], 0
je 0x490d71
movsd xmm0, qword [edi - 8]
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x490d71
movsd xmm1, qword [ecx - 0x10]
divsd xmm1, xmm0
movsd qword [ecx - 0x10], xmm1
movsd xmm1, qword [ecx - 8]
divsd xmm1, xmm0
movsd qword [ecx - 8], xmm1
movsd xmm1, qword [ecx]
divsd xmm1, xmm0
movsd qword [ecx], xmm1
cmp byte [ebp + 0x1c], 0
je 0x490d81
mov edx, dword [esp + 0x18]
lea edx, [edx + esi - 2]
jmp 0x490d85
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
movq xmm0, qword [ecx - 0x10]
lea eax, [edx + edx*2]
lea eax, [ebx + eax*8]
movq qword [eax], xmm0
movq xmm0, qword [ecx - 8]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx]
movq qword [eax + 0x10], xmm0
je 0x490df6
mov eax, dword [ebp + 0xc]
fld qword [edi - 8]
mov eax, dword [eax]
fstp qword [eax + edx*8]
movsd xmm0, qword [edi]
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x490df6
movsd xmm1, qword [ecx + 8]
divsd xmm1, xmm0
movsd qword [ecx + 8], xmm1
movsd xmm1, qword [ecx + 0x10]
divsd xmm1, xmm0
movsd qword [ecx + 0x10], xmm1
movsd xmm1, qword [ecx + 0x18]
divsd xmm1, xmm0
movsd qword [ecx + 0x18], xmm1
cmp byte [ebp + 0x1c], 0
je 0x490e06
mov edx, dword [esp + 0x18]
lea edx, [edx + esi - 1]
jmp 0x490e0f
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 0x14]
add edx, eax
cmp dword [esp + 0x14], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
movq xmm0, qword [ecx + 8]
lea eax, [edx + edx*2]
lea eax, [ebx + eax*8]
movq qword [eax], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x18]
movq qword [eax + 0x10], xmm0
je 0x490e81
mov eax, dword [ebp + 0xc]
fld qword [edi]
mov eax, dword [eax]
fstp qword [eax + edx*8]
movsd xmm0, qword [edi + 8]
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x490e81
movsd xmm1, qword [ecx + 0x20]
divsd xmm1, xmm0
movsd qword [ecx + 0x20], xmm1
movsd xmm1, qword [ecx + 0x28]
divsd xmm1, xmm0
movsd qword [ecx + 0x28], xmm1
movsd xmm1, qword [ecx + 0x30]
divsd xmm1, xmm0
movsd qword [ecx + 0x30], xmm1
cmp byte [ebp + 0x1c], 0
je 0x490e8f
mov edx, dword [esp + 0x18]
add edx, esi
jmp 0x490e93
mov edx, dword [esp + 0x3c]
cmp dword [esp + 0x14], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
movq xmm0, qword [ecx + 0x20]
lea eax, [edx + edx*2]
lea eax, [ebx + eax*8]
movq qword [eax], xmm0
movq xmm0, qword [ecx + 0x28]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x30]
movq qword [eax + 0x10], xmm0
je 0x490f06
mov eax, dword [ebp + 0xc]
fld qword [edi + 8]
mov eax, dword [eax]
fstp qword [eax + edx*8]
movsd xmm0, qword [edi + 0x10]
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x490f06
movsd xmm1, qword [ecx + 0x38]
divsd xmm1, xmm0
movsd qword [ecx + 0x38], xmm1
movsd xmm1, qword [ecx + 0x40]
divsd xmm1, xmm0
movsd qword [ecx + 0x40], xmm1
movsd xmm1, qword [ecx + 0x48]
divsd xmm1, xmm0
movsd qword [ecx + 0x48], xmm1
cmp byte [ebp + 0x1c], 0
je 0x490f16
mov edx, dword [esp + 0x18]
lea edx, [edx + esi + 1]
jmp 0x490f1a
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x14], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
movq xmm0, qword [ecx + 0x38]
lea eax, [edx + edx*2]
lea eax, [ebx + eax*8]
movq qword [eax], xmm0
movq xmm0, qword [ecx + 0x40]
movq qword [eax + 8], xmm0
movq xmm0, qword [ecx + 0x48]
movq qword [eax + 0x10], xmm0
je 0x490f54
mov eax, dword [ebp + 0xc]
fld qword [edi + 0x10]
mov eax, dword [eax]
fstp qword [eax + edx*8]
mov ebx, dword [ebp + 0x14]
lea eax, [ebx*4]
add dword [esp + 0x1c], eax
add dword [esp + 0x3c], eax
add dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
add esi, 4
add eax, 0xfffffffd
add ecx, 0x60
add edi, 0x20
cmp esi, eax
jl 0x490d33
mov eax, dword [esp + 0x24]
cmp esi, dword [esp + 0x20]
jge 0x49105f
mov edx, dword [esp + 0x38]
mov ecx, esi
imul ecx, ebx
add ecx, eax
lea eax, [edx + esi]
mov edx, dword [esp + 0x14]
lea edx, [edx + eax*8]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x6c]
lea eax, [eax + eax*2]
lea edi, [edx + eax*8 + 0x10]
cmp dword [esp + 0x14], 0
je 0x490ff5
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [eax]
ucomisd xmm0, xmm3
lahf
test ah, 0x44
jnp 0x490ff5
movsd xmm1, qword [edi - 0x10]
divsd xmm1, xmm0
movsd qword [edi - 0x10], xmm1
movsd xmm1, qword [edi - 8]
divsd xmm1, xmm0
movsd qword [edi - 8], xmm1
movsd xmm1, qword [edi]
divsd xmm1, xmm0
movsd qword [edi], xmm1
cmp byte [ebp + 0x1c], 0
je 0x491005
mov edx, dword [esp + 0x18]
lea edx, [edx + esi - 2]
jmp 0x491007
mov edx, ecx
cmp dword [esp + 0x14], 0
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
movq xmm0, qword [edi - 0x10]
lea eax, [edx + edx*2]
lea eax, [ebx + eax*8]
movq qword [eax], xmm0
movq xmm0, qword [edi - 8]
movq qword [eax + 8], xmm0
movq xmm0, qword [edi]
movq qword [eax + 0x10], xmm0
je 0x491043
mov eax, dword [ebp + 0xc]
mov ebx, dword [esp + 0x1c]
mov eax, dword [eax]
fld qword [ebx]
fstp qword [eax + edx*8]
mov ebx, dword [ebp + 0x14]
add dword [esp + 0x1c], 8
inc esi
add edi, 0x18
add ecx, ebx
cmp esi, dword [esp + 0x20]
jl 0x490fb4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add dword [esp + 0x38], ecx
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x58]
add edx, dword [esp + 0x48]
add dword [esp + 0x18], ebx
add ecx, ecx
add ecx, ecx
add ecx, ecx
inc eax
add edi, ecx
cmp eax, dword [esp + 0x44]
mov dword [esp + 0x24], eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], edx
jl 0x490d10
cmp dword [esp + 0x6c], 0
mov esi, dword [sym.imp.MSVCR90.dll_free]
je 0x4910ad
mov ecx, dword [esp + 0x6c]
push ecx
call esi
add esp, 4
cmp dword [esp + 0x7c], 0
je 0x4910be
mov edx, dword [esp + 0x7c]
push edx
call esi
add esp, 4
lea ecx, [esp + 0x8c]
mov dword [esp + 0xb8], 0xffffffff
call fcn.00590cd0
mov al, 1
mov ecx, dword [esp + 0xb0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18