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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x28]
cmp word [ebp], 0
push esi
push edi
mov esi, ecx
jne 0x5575e7
mov eax, dword [esi + 0x28]
cmp word [eax + 0xa], 0
je 0x5575e7
call fcn.00510980
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x30], eax
mov cx, word [ecx + 0xa]
call fcn.00512b80
mov edi, eax
test edi, edi
je 0x5575de
lea esp, [esp]
xor eax, eax
mov ax, word [edi + 2]
test ax, ax
je 0x5575d7
push 0
push esi
push esi
push eax
lea ecx, [esp + 0x40]
call fcn.005113c0
cmp eax, 1
je 0x5575d7
mov edi, dword [edi + 4]
test edi, edi
jne 0x5575b0
jmp 0x5575de
mov dx, word [edi]
mov word [ebp], dx
mov ecx, dword [esp + 0x30]
call fcn.00510970
test byte [esi + 0x8b], 0x20
je 0x557626
mov eax, dword [esi + 0x38]
mov esi, dword [eax]
test esi, esi
je 0x5578a3
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
push edi
push ebp
push ebx
mov ecx, esi
call fcn.00557570
mov ecx, esi
call fcn.004ecf40
mov esi, eax
test esi, esi
jne 0x557605
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc
mov ecx, dword [esi + 0x28]
cmp word [ecx + 0x3c], 0
mov ebp, dword [esp + 0x2c]
je 0x55766c
mov ecx, 0x14
call fcn.004dc530
mov edi, eax
test edi, edi
je 0x557662
mov eax, dword [esi + 0x28]
mov ax, word [eax + 0x3c]
mov edx, dword [esi + 0x38]
lea ecx, [edi + 0x10]
mov dword [edi], 0x60e608
mov word [edi + 0xc], ax
call fcn.004ea010
jmp 0x557664
xor edi, edi
push edi
mov ecx, ebp
call fcn.004e6190
mov ecx, dword [esi + 0x28]
cmp word [ecx + 0x3a], 0
je 0x5576ae
mov ecx, 0x14
call fcn.004dc530
mov edi, eax
test edi, edi
je 0x5576a4
mov edx, dword [esi + 0x28]
mov ax, word [edx + 0x3a]
mov edx, dword [esi + 0x38]
lea ecx, [edi + 0x10]
mov dword [edi], 0x60e608
mov word [edi + 0xc], ax
call fcn.004ea010
jmp 0x5576a6
xor edi, edi
push edi
mov ecx, ebp
call fcn.004e6190
cmp esi, dword [esp + 0x34]
jne 0x5578a3
mov ecx, 0x14
call fcn.004dc530
mov edi, eax
test edi, edi
je 0x5576e8
mov eax, dword [esi]
mov ebx, dword [esi + 0x38]
mov ecx, esi
call dword [eax + 0x3c]
lea ecx, [edi + 0x10]
mov edx, ebx
mov dword [edi], 0x60e608
mov word [edi + 0xc], ax
call fcn.004ea010
jmp 0x5576ea
xor edi, edi
push edi
mov ecx, ebp
call fcn.004e6190
mov ecx, dword [esi + 0x2c]
mov edx, dword [ecx]
call dword [edx + 0x78]
cmp eax, 0x30
jne 0x557803
push 0
lea ecx, [esp + 0x14]
call fcn.004f5dd0
push 1
lea ecx, [esp + 0x20]
call fcn.004f5dd0
movsx ecx, word [esi + 0x60]
mov eax, dword [esi]
xor edx, edx
mov dx, word [0x6f7cf8]
push 0
push esi
push ecx
lea ecx, [esp + 0x1c]
push edx
push ecx
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
jne 0x557780
mov edx, dword [esp + 0x10]
push eax
push eax
mov eax, dword [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x2c]
call fcn.00548190
mov ecx, 0x14
call fcn.004dc530
test eax, eax
je 0x557776
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dx, word [0x6f7cf8]
push ecx
mov ecx, eax
push edx
call fcn.0052c330
jmp 0x557778
xor eax, eax
push eax
mov ecx, ebp
call fcn.004e6190
movsx ecx, word [esi + 0x60]
mov eax, dword [esi]
xor edx, edx
mov dx, word [0x6f7cfc]
push 0
push esi
push ecx
lea ecx, [esp + 0x1c]
push edx
push ecx
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
jne 0x5577e7
mov edx, dword [esp + 0x10]
push eax
push eax
mov eax, dword [esp + 0x20]
push edx
push eax
lea ecx, [esp + 0x2c]
call fcn.00548190
mov ecx, 0x14
call fcn.004dc530
test eax, eax
je 0x5577dd
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov dx, word [0x6f7cfc]
push ecx
mov ecx, eax
push edx
call fcn.0052c330
jmp 0x5577df
xor eax, eax
push eax
mov ecx, ebp
call fcn.004e6190
lea ecx, [esp + 0x1c]
call fcn.004f5e70
lea ecx, [esp + 0x10]
call fcn.004f5e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x78]
cmp eax, 1
jne 0x5578a3
push 0
lea ecx, [esp + 0x20]
call fcn.004f5dd0
push 1
lea ecx, [esp + 0x14]
call fcn.004f5dd0
movsx eax, word [esi + 0x60]
mov edx, dword [esi]
xor ecx, ecx
mov cx, word [0x6f7ce8]
push 0
push esi
push eax
lea eax, [esp + 0x28]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x10]
test eax, eax
jne 0x557891
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
push eax
push eax
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.00548190
mov ecx, 0x14
call fcn.004dc530
test eax, eax
je 0x557887
mov ecx, dword [esp + 0x10]
xor edx, edx
mov dx, word [0x6f7ce8]
push ecx
mov ecx, eax
push edx
call fcn.0052c330
jmp 0x557889
xor eax, eax
push eax
mov ecx, ebp
call fcn.004e6190
lea ecx, [esp + 0x10]
call fcn.004f5e70
lea ecx, [esp + 0x1c]
call fcn.004f5e70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc