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

Disassembly:
sub esp, 0x26c
mov eax, dword [0x101366b4]
xor eax, esp
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x274]
push ebx
push ebp
mov ebp, ecx
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x278]
push esi
push edi
mov eax, dword [ebp + 4]
xor esi, esi
mov ebx, dword [ecx + 0x30]
mov edi, dword [esp + 0x288]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x5c], 1
mov ecx, dword [eax + 0x10]
push ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], 0
mov dword [esp + 0x28], 0
call fcn.1005de30
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10057b16
push 0x770
call fcn.10119612
add esp, 4
test eax, eax
je 0x10057ac5
mov ecx, dword [ebp + 4]
push edi
push dword [ecx + 0x10]
mov ecx, eax
call fcn.10084f10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10057ad7
jmp 0x10057ac9
mov dword [esp + 0x10], esi
push 1
push 0xfffffc0d
mov ecx, edi
call fcn.10063120
test byte [edi], 8
jne 0x10057af0
push edi
push 1
push ebx
push dword [ebp + 4]
mov ebx, dword [esp + 0x20]
mov ecx, ebx
call fcn.1008a480
jmp 0x10057af4
mov ebx, dword [esp + 0x10]
test byte [edi], 8
je 0x10057b0f
test ebx, ebx
je 0x10057b25
mov ecx, ebx
call fcn.100850a0
push ebx
call fcn.10119688
add esp, 4
jmp 0x10057b25
mov esi, 1
jmp 0x10057b25
push edi
push 1
push dword [ebp + 8]
mov ebx, eax
mov ecx, ebx
call fcn.10087970
test byte [edi], 8
jne 0x100581f1
push 0x198
call fcn.10119612
add esp, 4
test eax, eax
je 0x10057b5b
push 0
push 0
push edi
push 0
push 1
push ebx
push dword [ebp + 4]
mov ecx, eax
call fcn.10057170
mov ebx, eax
test ebx, ebx
jne 0x10057b6b
jmp 0x10057b5d
xor ebx, ebx
push 1
push 0xfffffc0d
mov ecx, edi
call fcn.10063120
test byte [edi], 8
je 0x10057ba5
test ebx, ebx
je 0x10057b7c
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
test esi, esi
je 0x100581f1
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x100581f1
mov ecx, ebx
call fcn.100850a0
push ebx
call fcn.10119688
add esp, 4
jmp 0x100581f1
push edi
push ebx
call fcn.10067d80
test byte [edi], 8
je 0x10057bbe
test ebx, ebx
je 0x100581f1
jmp 0x100581e9
mov eax, dword [ebp + 0x180]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x180], eax
mov eax, dword [esp + 0x3c]
push edi
mov eax, dword [eax + 0x2c]
mov ecx, dword [ecx + eax*4 + 0x4ac]
mov eax, dword [ebx]
mov dword [esp + 0x18], ecx
push dword [ecx]
mov ecx, ebx
call dword [eax + 8]
mov ecx, dword [ebx + 0x24]
push edi
push dword [esp + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov ecx, dword [ebx + 0x24]
lea edx, [esp + 0x5c]
push edx
push 0
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov eax, dword [esp + 0x5c]
test al, 8
jne 0x10057c22
mov ecx, dword [ebx + 0x24]
push edi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x5c]
test al, 8
je 0x10057c34
test al, 1
jne 0x10057c34
cmp dword [esp + 0x60], 0xfffff9bf
je 0x100581e9
mov eax, dword [ebp + 0x2c]
cmp eax, 4
je 0x10057c8b
cmp eax, 5
je 0x10057c8b
mov eax, dword [ebp + 4]
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x3c], 0
push eax
mov ecx, dword [eax + 0x10]
call fcn.1005e4a0
test eax, eax
je 0x10057c8b
cmp dword [ebp + 0x2c], 3
jne 0x10057c6c
push edi
push ebp
call fcn.10068060
test byte [edi], 8
jne 0x100581e9
cmp dword [ebp + 0x2c], 3
je 0x10057c8b
push edi
push ebx
call fcn.100680d0
test byte [edi], 8
jne 0x100581e9
mov eax, dword [ebp + 0x18c]
mov dword [ebx + 0x18c], eax
mov eax, dword [ebp + 0x38]
inc eax
mov dword [ebx + 0x3c], ebp
mov dword [ebx + 0x38], eax
cmp eax, 0x32
jle 0x10057cb4
push 1
push 0xfffff9a9
mov ecx, edi
call fcn.10063120
mov esi, ebp
mov dword [esp + 0x20], esi
lea ebx, [ebx]
mov eax, dword [esi + 0x18]
cmp eax, dword [ebx + 0x18]
jne 0x10057d03
mov ecx, dword [esi + 0x34]
test ecx, ecx
je 0x10057d20
mov eax, dword [esp + 0x14]
add ecx, 0x14
push edi
mov eax, dword [eax + 8]
push dword [eax + 0x3c]
call fcn.1004ec80
test eax, eax
jne 0x10057d12
cmp dword [esi + 0x2c], 3
je 0x10057cf9
mov eax, dword [esp + 0x18]
test eax, eax
cmove eax, esi
mov dword [esp + 0x18], eax
mov dword [esi + 0x16c], 1
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x10057d20
mov esi, eax
mov dword [esp + 0x20], eax
jmp 0x10057cc0
push 1
push 0xfffff9a9
mov ecx, edi
call fcn.10063120
cmp dword [esi + 0x2c], 3
mov ecx, edi
jne 0x10057d2f
push 0x659
jmp 0x10057d34
push 0x658
call fcn.10063180
mov ecx, dword [ebx + 0x24]
push edi
push 1
push 2
mov eax, dword [ecx]
call dword [eax + 0x28]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esp + 0x14]
cmp eax, 3
jne 0x10057d5c
cmp dword [ecx + 0x38], 0
je 0x10057d62
cmp eax, eax
je 0x10057dd2
cmp dword [ecx + 0x34], 0
jne 0x10057dd2
cmp dword [esi + 0x18c], 0
jne 0x10057dd2
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x44]
push eax
push dword [ebp + 4]
mov dword [esp + 0x4c], 1
xor esi, esi
call fcn.1008b2e0
test byte [esp + 0x44], 8
jne 0x10057d9b
push dword [ebp + 4]
mov ecx, dword [esp + 0x14]
call fcn.10089ce0
mov esi, eax
mov ecx, dword [ebp + 0xc]
push 1
push esi
push dword [ebp + 4]
call fcn.10089ce0
push eax
push 0xffffe01c
push 0xfffff9b4
mov ecx, edi
call fcn.100630b0
test dword [esp + 0x44], 0xfffffffe
je 0x10057dce
lea ecx, [esp + 0x44]
call fcn.10062fa0
mov esi, dword [esp + 0x20]
test byte [edi], 8
jne 0x100581c3
jmp 0x10057de0
test byte [esp + 0x5c], 8
jne 0x100581c3
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], 2
jne 0x10057e09
mov eax, dword [esi + 0x2c]
cmp eax, 5
je 0x10057e02
cmp eax, 3
jne 0x10057e09
mov ecx, 1
jmp 0x10057e0b
xor ecx, ecx
cmp dword [esi + 0x2c], 3
mov dword [esp + 0x30], ecx
jne 0x10057e26
test ecx, ecx
jne 0x10057e26
push edi
mov ecx, ebx
call fcn.10058220
jmp 0x10058045
mov dword [ebp + 0x68], 0x1fe
lea eax, [esp + 0x78]
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x70], 0
test ecx, ecx
je 0x10057e43
xor eax, eax
jmp 0x10057e46
mov eax, dword [ebp + 0x34]
lea edx, [ebp + 0x60]
mov dword [ebp + 0x7c], 0
mov dword [edx], eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x58], edx
mov byte [ebp + 0x85], 1
mov ecx, ebx
mov edx, dword [ebx]
setne al
push edi
add eax, 4
push eax
call dword [edx + 0x14]
test byte [edi], 8
jne 0x10057e96
mov eax, dword [ebp + 4]
push eax
mov ecx, dword [eax + 0x10]
call fcn.1005e4a0
test eax, eax
je 0x10057e96
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x10057e9e
push edi
push ebx
call fcn.100681b0
jmp 0x10057eae
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x10057eae
mov eax, dword [ecx + 0x18]
cmp eax, dword [ebx + 0x18]
jne 0x10057eae
push ecx
mov ecx, ebx
call fcn.10058390
xor ecx, ecx
test byte [edi], 8
mov dword [esp + 0x28], ecx
jne 0x10058045
lea ecx, [ecx]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 8]
cmp ecx, dword [eax + 0x20]
jge 0x10058038
cmp dword [esp + 0x30], 0
mov eax, dword [eax + 0x1c]
mov esi, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x38], eax
jne 0x10057efe
mov ecx, dword [ebp + 0x34]
push edi
push esi
add ecx, 8
call fcn.1004ec80
test eax, eax
je 0x10058026
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x30], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 0x10
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x1c]
mov ebp, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x74], eax
jne 0x10057f97
mov ebp, dword [esp + 0x1c]
push esi
mov ebp, dword [ebp + 0xc]
mov ecx, ebp
call fcn.100894d0
test al, al
je 0x10057f52
mov ecx, dword [ebp + esi*4 + 0xb0]
jmp 0x10057f54
xor ecx, ecx
mov eax, dword [ecx]
lea edx, [esp + 0x44]
push edx
push dword [esp + 0x5c]
call dword [eax + 0x18]
test byte [esp + 0x44], 1
mov esi, eax
jne 0x10057f75
cmp dword [esp + 0x48], 0x3ec
je 0x10057f91
mov ebp, dword [esp + 0x2c]
test esi, esi
jne 0x10057f87
mov dword [esp + 0x40], 0x30
jmp 0x10057f99
lea eax, [esp + 0x78]
mov dword [esp + 0x34], eax
jmp 0x10057f99
mov ebp, dword [esp + 0x2c]
jmp 0x10057f99
xor esi, esi
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 4]
push eax
mov ecx, dword [eax + 0x10]
call fcn.1005e4a0
test eax, eax
je 0x10057fc3
test byte [edi], 8
jne 0x10057fc3
cmp dword [ebx + 0x190], 0
je 0x10057fc3
push edi
push ebp
push ebx
call fcn.10068150
mov eax, dword [ebx]
mov ecx, ebx
push 0
push edi
push dword [esp + 0x48]
push esi
push dword [esp + 0x44]
push ebp
call dword [eax + 0x68]
mov ecx, edi
call fcn.10050440
cmp eax, 0xfffffbe9
jne 0x1005800f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x3c]
mov esi, eax
push ebp
mov ecx, esi
call fcn.100894d0
test al, al
je 0x10058007
mov eax, dword [esi + ebp*4 + 0xb0]
mov dword [esp + 0x24], eax
jmp 0x1005800f
mov dword [esp + 0x24], 0
test dword [esp + 0x44], 0xfffffffe
je 0x10058022
lea ecx, [esp + 0x44]
call fcn.10062fa0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
inc ecx
test byte [edi], 8
mov dword [esp + 0x28], ecx
je 0x10057ec0
test byte [edi], 8
jne 0x10058045
mov eax, dword [ebx]
mov ecx, ebx
push edi
call dword [eax + 0x1c]
mov ecx, dword [ebx + 0x24]
lea edx, [esp + 0x5c]
push edx
push 2
push 1
mov eax, dword [ecx]
call dword [eax + 8]
test byte [edi], 8
je 0x100581b9
mov ecx, edi
call fcn.10050440
cmp eax, 0xfffff9b4
jg 0x100580e7
je 0x100580b9
cmp eax, 0xfffff18b
jg 0x100580a5
je 0x1005809c
cmp eax, 0xfffff189
je 0x10058093
cmp eax, 0xfffff18a
jne 0x100581b6
mov dword [edi + 8], 0xffffdfb2
jmp 0x100580c0
mov dword [edi + 8], 0xffffdfb1
jmp 0x100580c0
mov dword [edi + 8], 0xffffdfb3
jmp 0x100580c0
cmp eax, 0xfffff9b3
jne 0x100581b6
mov dword [edi + 8], 0xffffdfb7
jmp 0x100580c0
mov dword [edi + 8], 0xffffdfb8
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x38]
mov ecx, edi
mov esi, dword [eax + 0xc]
call fcn.10062ff0
push eax
push 0
push 0
push 0
push 0
push 0
push esi
call fcn.100683e0
jmp 0x100581b6
cmp eax, 0xfffffbe3
jg 0x10058172
je 0x1005814e
cmp eax, 0xfffff9bb
je 0x1005812a
cmp eax, 0xfffffbad
jne 0x100581b6
mov ecx, edi
call fcn.10063060
mov ecx, dword [esp + 0x10]
push 1
push dword [ebp + 4]
call fcn.10089ce0
push eax
push 0
push 0xffffdfae
push 0xfffff9a3
jmp 0x100581a0
mov ecx, edi
call fcn.10063060
mov ecx, dword [esp + 0x10]
push 1
push 0
push dword [ebp + 4]
call fcn.10089ce0
push eax
push 0xffffdfb5
push 0xfffff9aa
jmp 0x100581a0
mov ecx, edi
call fcn.10063060
mov ecx, dword [esp + 0x10]
push 1
push 0
push dword [ebp + 4]
call fcn.10089ce0
push eax
push 0xffffdfb6
push 0xfffff9ab
jmp 0x100581a0
cmp eax, 0xfffffbe9
jne 0x100581b6
mov ecx, edi
call fcn.10063060
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push 1
push dword [eax + 4]
push dword [ebp + 4]
call fcn.10089ce0
push eax
push 0xffffdfb0
push 0xfffff9a5
mov ecx, edi
call fcn.100630b0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x38]
push dword [eax + 0xc]
call fcn.10067e80
test byte [edi], 8
mov esi, dword [esp + 0x20]
je 0x10057de0
mov eax, dword [ebp + 4]
push eax
mov ecx, dword [eax + 0x10]
call fcn.1005e4a0
test eax, eax
je 0x100581e9
cmp dword [ebx + 0x190], 0
je 0x100581e9
cmp dword [ebp + 0x2c], 3
je 0x100581e9
push edi
push ebx
call fcn.10068020
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
test dword [esp + 0x5c], 0xfffffffe
pop edi
pop esi
pop ebp
pop ebx
je 0x10058208
lea ecx, [esp + 0x4c]
call fcn.10062fa0
mov ecx, dword [esp + 0x268]
xor ecx, esp
call fcn.10117cfd
add esp, 0x26c
ret 0xc