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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e4c18
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x5564b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebx]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [edx + 0x34]
mov ecx, ebx
call eax
mov edi, eax
mov al, byte [esi + 0x18]
test al, al
je 0x48162b
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x28], 0
je 0x48162b
mov ecx, dword [esi + 0x10]
cmp dword [ecx*4 + 0x50ca48], 0xa
jne 0x48162b
cmp dword [esi + 0x14], 3
je 0x48162b
mov edx, dword [ebp - 0x30]
push edx
push ebx
push esi
call fcn.00480f50
add esp, 0xc
jmp 0x481ae6
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
push esi
mov dword [ebp - 0x3c], 0
mov ecx, edi
push ebx
jne 0x481648
mov edx, dword [eax + 0x10]
call edx
mov dword [ebp - 0x3c], eax
jmp 0x481658
mov edx, dword [eax + 0xc]
call edx
test al, al
je 0x481658
mov dword [ebp - 0x3c], 1
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x34], 0
jle 0x481ae4
lea esp, [esp]
mov eax, dword [esi + 0x10]
dec eax
cmp eax, 0x11
ja case.default.0x48167d
jmp dword [eax*4 + 0x481b18]
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
jne 0x48169b
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0x70]
push ecx
push esi
push ebx
mov ecx, edi
call edx
jmp 0x4816a4
mov edx, dword [eax + 0x1c]
push esi
push ebx
mov ecx, edi
call edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.00480a80
add esp, 0xc
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
jne 0x4816d9
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0x74]
push ecx
push esi
push ebx
mov ecx, edi
call edx
jmp 0x4816e2
mov edx, dword [eax + 0x20]
push esi
push ebx
mov ecx, edi
call edx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
mov eax, dword [esi + 0xc]
push eax
call fcn.00480830
add esp, 0x10
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x481718
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x70]
push eax
push esi
push ebx
call edx
jmp 0x481721
mov eax, dword [edi]
mov edx, dword [eax + 0x1c]
push esi
push ebx
call edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.00480870
add esp, 0xc
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
jne 0x481756
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0x74]
push ecx
push esi
push ebx
mov ecx, edi
call edx
jmp 0x48175f
mov edx, dword [eax + 0x20]
push esi
push ebx
mov ecx, edi
call edx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
mov eax, dword [esi + 0xc]
push eax
call fcn.004808e0
add esp, 0x10
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x481795
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x78]
push eax
push esi
push ebx
call edx
jmp 0x48179e
mov eax, dword [edi]
mov edx, dword [eax + 0x24]
push esi
push ebx
call edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.004807d0
add esp, 0xc
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
jne 0x4817d3
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0x7c]
push ecx
push esi
push ebx
mov ecx, edi
call edx
jmp 0x4817dc
mov edx, dword [eax + 0x28]
push esi
push ebx
mov ecx, edi
call edx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
mov eax, dword [esi + 0xc]
push eax
call fcn.00480830
add esp, 0x10
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x481812
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x78]
push eax
push esi
push ebx
call edx
jmp 0x48181b
mov eax, dword [edi]
mov edx, dword [eax + 0x24]
push esi
push ebx
call edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [esi + 0xc]
add eax, eax
add eax, eax
add eax, eax
or eax, 5
push eax
call fcn.00480540
test al, al
je 0x481b14
mov ecx, dword [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.00483580
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x48186b
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x7c]
push eax
push esi
push ebx
call edx
jmp 0x481874
mov eax, dword [edi]
mov edx, dword [eax + 0x28]
push esi
push ebx
call edx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
mov eax, dword [esi + 0xc]
push eax
call fcn.00480940
add esp, 0x10
test al, al
je 0x481b14
jmp case.default.0x48167d
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x4818ad
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x70]
push eax
push esi
push ebx
call edx
jmp 0x48181b
mov eax, dword [edi]
mov edx, dword [eax + 0x1c]
jmp 0x481817
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x4818ce
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x74]
push eax
push esi
push ebx
call edx
jmp 0x4818d7
mov eax, dword [edi]
mov edx, dword [eax + 0x20]
push esi
push ebx
call edx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
mov eax, dword [esi + 0xc]
push eax
call fcn.00480940
add esp, 0x10
jmp 0x481847
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x481908
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x80]
push eax
push esi
push ebx
call edx
jmp 0x481911
mov eax, dword [edi]
mov edx, dword [eax + 0x2c]
push esi
push ebx
call edx
mov ecx, dword [ebp - 0x30]
fstp dword [ebp - 0x38]
mov eax, dword [esi + 0xc]
fld dword [ebp - 0x38]
push ecx
push ecx
fstp dword [esp]
push eax
call fcn.00480980
add esp, 0xc
jmp 0x481847
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x48194a
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x84]
push eax
push esi
push ebx
call edx
jmp 0x481953
mov eax, dword [edi]
mov edx, dword [eax + 0x30]
push esi
push ebx
call edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [esi + 0xc]
push ecx
sub esp, 8
fstp qword [esp]
push eax
call fcn.004809d0
add esp, 0x10
jmp 0x481847
cmp dword [esi + 0x14], 3
mov ecx, edi
jne 0x481988
mov eax, dword [ebp - 0x34]
mov edx, dword [edi]
mov edx, dword [edx + 0x88]
push eax
push esi
push ebx
call edx
jmp 0x481991
mov eax, dword [edi]
mov edx, dword [eax + 0x34]
push esi
push ebx
call edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.00480a20
add esp, 0xc
jmp 0x481847
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
jne 0x4819c1
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0x94]
push ecx
push esi
push ebx
mov ecx, edi
call edx
jmp 0x4819ca
mov edx, dword [eax + 0x40]
push esi
push ebx
mov ecx, edi
call edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.00480af0
add esp, 0xc
jmp 0x481847
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
jne 0x4819fa
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0x94]
push ecx
push esi
push ebx
mov ecx, edi
call edx
jmp 0x481a03
mov edx, dword [eax + 0x40]
push esi
push ebx
mov ecx, edi
call edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.00480b40
add esp, 0xc
jmp 0x481847
cmp dword [esi + 0x14], 3
mov eax, dword [edi]
jne 0x481a33
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + 0x90]
push ecx
push esi
push ebx
mov ecx, edi
call edx
jmp 0x481a3c
mov edx, dword [eax + 0x3c]
push esi
push ebx
mov ecx, edi
call edx
mov edx, dword [ebp - 0x30]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.00480a80
add esp, 0xc
jmp 0x481847
xor eax, eax
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x2c], al
cmp dword [esi + 0x14], 3
mov dword [ebp - 4], eax
jne 0x481a85
mov edx, dword [ebp - 0x34]
mov eax, dword [edi]
mov eax, dword [eax + 0x98]
lea ecx, [ebp - 0x2c]
push ecx
push edx
push esi
push ebx
mov ecx, edi
call eax
jmp 0x481a94
mov edx, dword [edi]
mov edx, dword [edx + 0x44]
lea eax, [ebp - 0x2c]
push eax
push esi
push ebx
mov ecx, edi
call edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi + 0xc]
push edx
push eax
push ecx
call fcn.00481070
add esp, 0xc
test al, al
je 0x481b02
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 4], 0xffffffff
jb 0x481ac2
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0049acb7
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp eax, dword [ebp - 0x3c]
jl 0x481670
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0049ab39
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x18], 0x10
jb 0x481b14
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0049acb7
add esp, 4
xor al, al
jmp 0x481ae6