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

Disassembly:
push 0xffffffffffffffff
push 0x10182053
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cd7b4]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
xor edi, edi
cmp dword [esi + 0x40], edi
jne 0x100573a3
cmp dword [esi + 0x44], edi
je 0x100577bc
lea ecx, [esp + 0x18]
call fcn.10083270
mov dword [esp + 0x1c], eax
mov byte [eax + 0x25], 1
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], eax
mov dword [esp + 0x20], edi
lea eax, [esi + 8]
mov dword [esp + 0x6c], eax
add eax, 4
push eax
mov dword [esp + 0xac], edi
xor ebp, ebp
mov dword [esp + 0x6c], 0x10199608
mov dword [esp + 0x38], eax
call dword [0x10199070]
mov eax, dword [esi + 0x28]
lea ebx, [esi + 0x24]
mov esi, dword [eax]
mov byte [esp + 0xa8], 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], eax
mov edi, edi
test ebx, ebx
je 0x1005741f
mov eax, dword [esp + 0x14]
add eax, 0x24
cmp ebx, eax
je 0x10057424
call fcn.10158fad
cmp esi, dword [esp + 0x3c]
je 0x100574c6
test ebx, ebx
jne 0x10057437
call fcn.10158fad
cmp esi, dword [ebx + 4]
jne 0x10057441
call fcn.10158fad
lea ecx, [esi + 0x28]
mov dword [esp + 0x2c], ecx
call fcn.100d7000
cmp esi, dword [ebx + 4]
mov dword [esp + 0x40], eax
jne 0x1005745b
call fcn.10158fad
mov ecx, dword [esp + 0x40]
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x54], edx
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x60], edx
push ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x20]
lea edx, [esp + 0x74]
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x6c], eax
call fcn.10053da0
cmp esi, dword [ebx + 4]
jne 0x100574a3
call fcn.10158fad
mov ecx, dword [esp + 0x2c]
call fcn.10059870
add edi, eax
lea ecx, [esp + 0x24]
adc ebp, edx
call fcn.10050bd0
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
jmp 0x10057410
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x44]
mov esi, dword [ebx + 0x40]
mov edx, edi
add edx, dword [esp + 0xb0]
mov eax, ebp
adc eax, dword [esp + 0xb4]
cmp eax, ecx
jg 0x10057528
jl 0x100574ec
cmp edx, esi
jae 0x10057528
mov eax, dword [esp + 0x34]
push eax
call dword [0x10199074]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
mov dword [esp + 0xbc], 0xffffffff
call fcn.10054370
mov edx, dword [esp + 0x1c]
push edx
jmp 0x100577b4
mov eax, dword [esp + 0x1c]
sub edi, esi
sbb ebp, ecx
add dword [esp + 0xb0], edi
mov ecx, dword [eax]
lea edx, [esp + 0x18]
adc dword [esp + 0xb4], ebp
mov esi, edx
mov edi, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x4c], eax
test esi, esi
je 0x10057560
lea eax, [esp + 0x18]
cmp esi, eax
je 0x10057565
call fcn.10158fad
cmp edi, dword [esp + 0x4c]
je 0x1005777c
test esi, esi
jne 0x10057578
call fcn.10158fad
cmp edi, dword [esi + 4]
jne 0x10057582
call fcn.10158fad
add edi, 0x10
push edi
lea ecx, [ebx + 0x24]
call fcn.100511c0
lea esi, [ebx + 0x24]
test esi, esi
mov ebp, eax
mov dword [esp + 0x44], ebp
jne 0x100575a0
call fcn.10158fad
mov dword [esp + 0x40], esi
mov esi, dword [esi + 4]
cmp ebp, esi
je 0x100575da
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + edi]
mov dl, byte [eax + ebp + 0x10]
cmp cl, dl
ja 0x100576f6
jb 0x100575da
cmp eax, 0x13
jne 0x100575d2
mov cl, byte [edi + 0x13]
cmp cl, byte [ebp + 0x23]
je 0x100576f6
add eax, 1
cmp eax, 0x14
jb 0x100575b0
lea eax, [ebx + 0x24]
lea edx, [esp + 0x38]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edx
mov eax, edx
mov edi, dword [eax]
test edi, edi
mov esi, dword [eax + 4]
jne 0x100575fd
call fcn.10158fad
cmp esi, dword [edi + 4]
jne 0x10057607
call fcn.10158fad
lea ecx, [esi + 0x28]
call fcn.10059870
sub dword [esp + 0xb0], eax
sbb dword [esp + 0xb4], edx
cmp esi, dword [edi + 4]
jne 0x10057627
call fcn.10158fad
lea eax, [esp + 0x7c]
push eax
lea ecx, [esi + 0x28]
call fcn.100d73e0
mov ebp, eax
cmp esi, dword [edi + 4]
mov byte [esp + 0xa8], 2
jne 0x10057648
call fcn.10158fad
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esi + 0x28]
call fcn.100d7030
push eax
push ebp
mov ecx, ebx
call fcn.10053b80
cmp dword [esp + 0x94], 0x10
mov byte [esp + 0xa8], 1
jb 0x10057680
mov edx, dword [esp + 0x80]
push edx
call fcn.10158c57
add esp, 4
cmp esi, dword [edi + 4]
jne 0x1005768a
call fcn.10158fad
lea eax, [esp + 0x7c]
push eax
lea ecx, [esi + 0x28]
call fcn.10059b10
mov edi, eax
lea esi, [ebx + 0x30]
push edi
mov ecx, esi
mov byte [esp + 0xac], 3
call fcn.10051bd0
test esi, esi
mov ebp, eax
jne 0x100576b7
call fcn.10158fad
push edi
mov ecx, esi
call fcn.10051b30
test esi, esi
mov edi, eax
jne 0x100576ca
call fcn.10158fad
mov eax, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
test eax, eax
je 0x100576dc
cmp eax, esi
je 0x100576e1
call fcn.10158fad
cmp dword [esp + 0x28], ebp
je 0x10057703
lea ecx, [esp + 0x24]
call fcn.10050dc0
mov eax, dword [esp + 0x24]
jmp 0x100576d4
lea eax, [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x100575ef
push ebp
push esi
push edi
push esi
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.10056180
cmp dword [esp + 0x94], 0x10
mov byte [esp + 0xa8], 1
jb 0x10057738
mov edx, dword [esp + 0x80]
push edx
call fcn.10158c57
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x78]
push eax
lea ecx, [ebx + 0x24]
call fcn.10052220
cmp dword [esp + 0xb4], 0
jl 0x1005777c
jg 0x10057766
cmp dword [esp + 0xb0], 0
jb 0x1005777c
lea ecx, [esp + 0x2c]
call fcn.10051150
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
jmp 0x10057554
mov ecx, dword [esp + 0x34]
push ecx
call dword [0x10199074]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edx
mov esi, ecx
push esi
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0xbc], 0xffffffff
call fcn.10054370
mov eax, dword [esp + 0x1c]
push eax
call fcn.10158c57
add esp, 4
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret 8