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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1008fe70
push eax
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push ebp
xor ebp, ebp
push esi
cmp ecx, ebp
push edi
je 0x100575a7
jmp 0x100571b2
mov ecx, dword [esp + 0x54]
xor ebp, ebp
mov eax, dword [esp + 0x58]
cmp eax, ebp
je 0x100575a7
lea edx, [ecx + eax]
cmp edx, 2
je 0x10057378
mov esi, dword [esp + 0x5c]
cmp ecx, eax
jg 0x100571de
mov edx, dword [esi + 0x10]
cmp ecx, dword [edx + 0xc]
jle 0x100573d1
mov edx, dword [esi + 0x10]
cmp eax, dword [edx + 0xc]
jle 0x100574a8
cmp eax, ecx
jge 0x1005727d
mov eax, ecx
mov ebp, dword [esp + 0x48]
cdq
sub eax, edx
lea ecx, [esp + 0x14]
mov ebx, eax
sar ebx, 1
mov edi, ebx
shl edi, 4
add edi, ebp
push edi
call fcn.1004e1e0
mov dword [esp + 0x14], 0x10094510
mov dword [esp + 0x1c], 0x1009450c
mov dword [esp + 0x20], 0x10094508
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
push 0
lea ecx, [esp + 0x18]
push eax
mov eax, dword [esp + 0x54]
push ecx
push edx
push eax
mov dword [esp + 0x54], 0
call fcn.1005cfe0
mov ecx, dword [esp + 0x2c]
add esp, 0x14
test ecx, ecx
mov esi, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x14], 0x10094504
je 0x1005726d
call fcn.10052e70
mov ecx, dword [esp + 0x4c]
mov ebp, esi
sub ebp, ecx
sar ebp, 4
jmp 0x100572fd
cdq
sub eax, edx
mov edi, dword [esp + 0x4c]
mov ebp, eax
lea ecx, [esp + 0x24]
sar ebp, 1
mov esi, ebp
shl esi, 4
add esi, edi
push esi
call fcn.1004e1e0
mov dword [esp + 0x24], 0x10094510
mov dword [esp + 0x2c], 0x1009450c
mov dword [esp + 0x30], 0x10094508
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x48]
push 0
lea edx, [esp + 0x28]
push ecx
push edx
push edi
push eax
mov dword [esp + 0x54], 1
call fcn.1005d080
mov ecx, dword [esp + 0x3c]
add esp, 0x14
test ecx, ecx
mov edi, eax
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x24], 0x10094504
je 0x100572f2
call fcn.10052e70
mov ecx, dword [esp + 0x48]
mov ebx, edi
sub ebx, ecx
sar ebx, 4
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
sub eax, ebx
push ecx
push ebp
push eax
push esi
push edx
push edi
mov dword [esp + 0x6c], eax
call fcn.10059710
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
push ecx
push edx
push ebp
push ebx
mov dword [esp + 0x38], eax
push eax
mov eax, dword [esp + 0x74]
push edi
push eax
call fcn.10057180
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x44]
add esp, 0x34
sub edx, ebp
mov dword [esp + 0x54], eax
test eax, eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x48], ecx
jne 0x100571ac
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 4]
cmp eax, ebp
jne 0x10057387
xor ecx, ecx
jmp 0x1005738a
mov ecx, dword [eax + 8]
call fcn.10068b40
mov ebx, dword [esp + 0x4c]
cdq
mov edi, eax
mov eax, dword [ebx + 4]
cmp eax, ebp
mov esi, edx
jne 0x100573a3
xor eax, eax
jmp 0x100573a6
mov eax, dword [eax + 8]
mov ecx, eax
call fcn.10068b40
cdq
cmp edx, esi
jg 0x100575a7
jl 0x100573c0
cmp eax, edi
jae 0x100575a7
mov eax, dword [esp + 0x48]
push ebp
push ebx
push eax
call fcn.1005c4d0
jmp 0x100575a4
mov ecx, esi
call fcn.10080280
mov ebx, dword [esp + 0x4c]
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x70], esp
push ebx
mov dword [ecx], ebp
mov dword [ecx + 4], ebp
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], ebp
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x10], edx
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.10059230
mov edi, dword [esp + 0x44]
add esp, 0x20
cmp edi, ebp
je 0x10057436
cmp edi, dword [esp + 0x2c]
je 0x1005742d
mov edx, dword [edi]
push ebp
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0x2c]
add edi, 0x10
cmp edi, eax
jne 0x10057417
mov edi, dword [esp + 0x24]
push edi
call fcn.10088e50
add esp, 4
mov esi, dword [esi + 0x10]
mov al, byte [esp + 0x60]
mov edi, dword [esp + 0x48]
mov byte [esp + 0x4c], al
mov ebp, dword [esi + 4]
mov esi, dword [esi]
cmp esi, ebp
je 0x1005747e
cmp ebx, dword [esp + 0x50]
je 0x1005747e
push esi
push ebx
lea ecx, [esp + 0x54]
call fcn.10055130
test al, al
je 0x1005746a
mov eax, ebx
add ebx, 0x10
jmp 0x1005746f
mov eax, esi
add esi, 0x10
push eax
mov ecx, edi
call fcn.1007bf70
add edi, 0x10
cmp esi, ebp
jne 0x1005744e
push edi
push ebp
push esi
call fcn.10052470
mov ecx, dword [esp + 0x5c]
push eax
push ecx
push ebx
call fcn.10052470
add esp, 0x18
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov ecx, esi
call fcn.10080280
mov ebx, dword [esp + 0x50]
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x70], esp
push ebx
mov dword [ecx], ebp
mov dword [ecx + 4], ebp
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], ebp
mov edx, dword [eax + 0x10]
mov ebp, dword [esp + 0x64]
lea eax, [esp + 0x3c]
push ebp
push eax
mov dword [ecx + 0x10], edx
call fcn.10059230
mov edi, dword [esp + 0x44]
add esp, 0x20
test edi, edi
je 0x1005750e
cmp edi, dword [esp + 0x2c]
je 0x10057505
mov edx, dword [edi]
push 0
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0x2c]
add edi, 0x10
cmp edi, eax
jne 0x100574ee
mov edi, dword [esp + 0x24]
push edi
call fcn.10088e50
add esp, 4
mov esi, dword [esi + 0x10]
mov cl, byte [esp + 0x60]
mov byte [esp + 0x60], cl
mov edi, ebp
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
cmp eax, ebp
je 0x1005756b
cmp dword [esp + 0x4c], esi
je 0x10057598
sub edi, 0x10
sub esi, 0x10
push edi
push esi
lea ecx, [esp + 0x68]
call fcn.10055130
test al, al
je 0x10057557
sub ebx, 0x10
push edi
mov ecx, ebx
call fcn.1007bf70
add esi, 0x10
jmp 0x10057565
sub ebx, 0x10
push esi
mov ecx, ebx
call fcn.1007bf70
add edi, 0x10
cmp dword [esp + 0x48], edi
jne 0x1005752c
cmp dword [esp + 0x4c], esi
je 0x100575a7
sub ebx, esi
sub esi, 0x10
push esi
lea ecx, [ebx + esi]
call fcn.1007bf70
cmp esi, dword [esp + 0x4c]
jne 0x10057573
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov edx, dword [esp + 0x48]
push ebx
push edi
push edx
call fcn.10053240
add esp, 0xc
mov ecx, dword [esp + 0x38]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x34
ret