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

Disassembly:
push 0xffffffffffffffff
push 0x5d0f55
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push ebp
push esi
push edi
mov eax, dword [0x680f10]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x14], ebp
mov edi, dword [esp + 0xac]
test edi, edi
mov dword [esp + 0x18], 0
je 0x49c74f
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 4]
cmp ecx, eax
je 0x49c76d
mov ecx, dword [esp + 0xb4]
push ecx
push eax
mov ecx, edi
call fcn.0049c260
test eax, eax
mov dword [esp + 0xac], eax
jne 0x49c835
xor eax, eax
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret 0xc
push edi
mov ecx, ebp
call fcn.00496830
cmp eax, 0xffffffff
je 0x49c837
mov eax, dword [ebp + 4]
push 0
push eax
push 0x68
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x49c79d
mov ecx, eax
call fcn.0049b7b0
mov ebp, eax
jmp 0x49c79f
xor ebp, ebp
mov edx, dword [edi + 0x18]
mov eax, dword [edx + 0x4c]
lea ecx, [edi + 0x18]
call eax
mov edx, dword [ebp + 0x18]
mov edi, eax
mov esi, dword [edi]
mov eax, dword [edx + 0x4c]
lea ecx, [ebp + 0x18]
add esi, 0x38
call eax
mov edx, dword [esi]
push eax
mov ecx, edi
call edx
mov ecx, dword [esp + 0xac]
mov al, byte [ecx + 0x1c]
mov byte [ebp + 0x1c], al
call fcn.004b5240
lea esi, [eax + 8]
mov eax, dword [esi + 4]
mov edi, dword [eax]
lea ecx, [ecx]
cmp esi, esi
mov ebx, dword [esi + 4]
je 0x49c7ec
call fcn.0044b7ad
cmp edi, ebx
je 0x49c821
cmp edi, dword [esi + 4]
jne 0x49c7fa
call fcn.0044b7ad
cmp edi, dword [esi + 4]
lea ebx, [edi + 8]
jne 0x49c807
call fcn.0044b7ad
mov eax, dword [ebx + 0x20]
push eax
push ebx
mov ecx, ebp
call fcn.004ba020
cmp edi, dword [esi + 4]
jne 0x49c81d
call fcn.0044b7ad
mov edi, dword [edi]
jmp 0x49c7e0
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0xac]
jmp 0x49c837
mov edi, eax
lea ecx, [esp + 0x5c]
push ecx
mov ecx, edi
call fcn.004b8b90
mov edx, dword [eax + 0x18]
push 4
lea ecx, [eax + 4]
push 0x5f2a84
push edx
push 0
mov dword [esp + 0xb4], 0
call fcn.0048a450
test eax, eax
mov esi, 0x10
setne bl
cmp dword [esp + 0x78], esi
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x5c], 0x5f1558
jb 0x49c893
mov eax, dword [esp + 0x64]
push eax
call fcn.004274fc
add esp, 4
test bl, bl
je 0x49c97b
mov eax, dword [ebp + 4]
push 0
push eax
push 0x2c
call fcn.004b5290
mov esi, eax
xor ebx, ebx
add esp, 0xc
cmp esi, ebx
je 0x49c8f3
push 4
push 0x5f2a8c
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], bl
call fcn.00402f00
lea ecx, [esp + 0x3c]
mov eax, 1
push ecx
mov ecx, esi
mov dword [esp + 0xa8], eax
mov dword [esp + 0x1c], eax
call fcn.004b7280
mov esi, eax
jmp 0x49c8f5
xor esi, esi
push 0x5f2a94
lea ecx, [esp + 0x20]
call fcn.0048cd50
push esi
lea edx, [esp + 0x20]
push edx
mov ecx, edi
mov dword [esp + 0xac], 2
call fcn.004ba020
cmp dword [esp + 0x38], 0x10
mov dword [esp + 0x1c], 0x5f1558
jb 0x49c937
mov eax, dword [esp + 0x24]
push eax
call fcn.004274fc
add esp, 4
test byte [esp + 0x18], 1
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], 0
mov dword [esp + 0x1c], 0x5f13d0
mov dword [esp + 0xa4], 0xffffffff
je 0x49c976
cmp dword [esp + 0x54], 0x10
jb 0x49c976
mov ecx, dword [esp + 0x40]
push ecx
call fcn.004274fc
add esp, 4
mov esi, 0x10
push 0x5f2a9c
lea ecx, [esp + 0x20]
call fcn.0048cd50
lea edx, [esp + 0x1c]
push edx
mov ecx, ebp
mov dword [esp + 0xa8], 3
call fcn.004b7ac0
cmp dword [esp + 0x38], esi
mov ebp, 0x5f1558
mov edi, eax
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x1c], ebp
jb 0x49c9c9
mov eax, dword [esp + 0x24]
push eax
call fcn.004274fc
add esp, 4
test edi, edi
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
mov dword [esp + 0x1c], 0x5f13d0
jne 0x49cac0
mov eax, dword [ebx + 4]
push edi
push eax
push 0x20
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x49ca10
mov ecx, eax
call fcn.004b77c0
mov edi, eax
jmp 0x49ca12
xor edi, edi
push 0x5f2aa4
lea ecx, [esp + 0x40]
call fcn.0048cd50
push edi
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebx
mov dword [esp + 0xac], 4
call fcn.004ba020
cmp dword [esp + 0x58], esi
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x3c], ebp
jb 0x49ca5a
mov edx, dword [esp + 0x44]
push edx
call fcn.004274fc
add esp, 4
push 0x5f2aac
lea ecx, [esp + 0x40]
call fcn.0048cd50
lea eax, [esp + 0x3c]
push eax
mov ecx, ebx
mov dword [esp + 0xa8], 5
call fcn.004b7ac0
cmp dword [esp + 0x58], esi
mov edi, eax
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x3c], ebp
jb 0x49caa3
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004274fc
add esp, 4
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], 0
mov byte [esp + 0x44], 0
mov dword [esp + 0x3c], 0x5f13d0
mov ecx, ebx
call fcn.00496530
mov ebp, dword [esp + 0xb0]
cmp ebp, eax
jb 0x49cb79
mov eax, dword [ebx + 4]
push 0
push eax
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x49cafb
mov edx, dword [esp + 0xac]
push edx
mov ecx, eax
call fcn.004b5410
jmp 0x49cafd
xor eax, eax
push eax
mov ecx, edi
call fcn.004b8ee0
mov eax, dword [ebx + 4]
push 0
push eax
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x49cb25
push ebx
mov ecx, eax
call fcn.004b5410
mov edi, eax
jmp 0x49cb27
xor edi, edi
push 0x5f2ab4
lea ecx, [esp + 0x20]
call fcn.0048cd50
mov ecx, dword [esp + 0xac]
push edi
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0xac], 6
call fcn.004ba020
cmp dword [esp + 0x38], 0x10
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x1c], 0x5f1558
jb 0x49ccb1
mov ecx, dword [esp + 0x24]
jmp 0x49cca8
mov ecx, edi
mov dword [esp + 0x14], 0
call fcn.004b5810
test eax, eax
jbe 0x49c74f
mov edx, dword [esp + 0x14]
push edx
mov ecx, edi
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x49cbf2
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
mov ecx, esi
call edx
sub eax, 4
je 0x49cbeb
sub eax, 1
jne 0x49cbf2
mov ecx, esi
call fcn.00496530
cmp ebp, eax
jae 0x49cbe0
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xac]
push eax
push ebp
push ecx
mov ecx, esi
call fcn.0049c6e0
test eax, eax
jne 0x49ccb1
mov ecx, esi
call fcn.00496530
sub ebp, eax
jmp 0x49cbf2
test ebp, ebp
je 0x49cc0d
sub ebp, 1
mov esi, dword [esp + 0x14]
add esi, 1
mov ecx, edi
mov dword [esp + 0x14], esi
call fcn.004b5810
cmp esi, eax
jb 0x49cb90
jmp 0x49c74f
mov eax, dword [ebx + 4]
push 0
push eax
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x49cc32
mov edx, dword [esp + 0xac]
push edx
mov ecx, eax
call fcn.004b5410
jmp 0x49cc34
xor eax, eax
push esi
push eax
mov ecx, edi
call fcn.004b7830
mov eax, dword [ebx + 4]
push 0
push eax
push 0x10
call fcn.004b5290
add esp, 0xc
test eax, eax
je 0x49cc5d
push ebx
mov ecx, eax
call fcn.004b5410
mov esi, eax
jmp 0x49cc5f
xor esi, esi
push 0x5f2abc
lea ecx, [esp + 0x60]
call fcn.0048cd50
mov ecx, dword [esp + 0xac]
push esi
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0xac], 7
call fcn.004ba020
cmp dword [esp + 0x78], 0x10
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x5c], 0x5f1558
jb 0x49ccb1
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004274fc
add esp, 4
push 0x5f2ac4
lea ecx, [esp + 0x20]
call fcn.0048cd50
lea edx, [esp + 0x1c]
push edx
mov ecx, ebx
mov dword [esp + 0xa8], 8
call fcn.004b7a30
mov edi, 0x10
cmp dword [esp + 0x38], edi
mov ebp, 0x5f1558
mov esi, eax
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x1c], ebp
jb 0x49cd04
mov eax, dword [esp + 0x24]
push eax
call fcn.004274fc
add esp, 4
test esi, esi
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], 0
mov byte [esp + 0x24], 0
mov dword [esp + 0x1c], 0x5f13d0
je 0x49cd55
mov ecx, esi
call fcn.004b57f0
call fcn.0044eb60
add eax, 1
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.004b6cb0
mov eax, dword [esp + 0xac]
jmp 0x49c751
mov eax, dword [ebx + 4]
push 0
push eax
push 0x20
call fcn.004b5290
mov esi, eax
add esp, 0xc
test esi, esi
je 0x49cd98
mov ecx, ebx
call fcn.00496530
add eax, 1
test eax, eax
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
jge 0x49cd87
fadd qword [0x659f10]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.004b5b20
mov esi, eax
jmp 0x49cd9a
xor esi, esi
push 0x5f2acc
lea ecx, [esp + 0x80]
call fcn.0048cd50
push esi
lea ecx, [esp + 0x80]
push ecx
mov ecx, ebx
mov dword [esp + 0xac], 9
call fcn.004ba020
cmp dword [esp + 0x98], edi
mov dword [esp + 0x7c], ebp
jb 0x49cde3
mov edx, dword [esp + 0x84]
push edx
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0xac]
jmp 0x49c751