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

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov ebp, ecx
mov eax, dword [ebp]
push edi
call dword [eax + 0x78]
mov esi, dword [esp + 0x24]
mov edx, dword [ebp]
lea ecx, [eax + eax*4]
mov eax, dword [ecx*4 + 0x65fd48]
test eax, eax
mov ecx, ebp
je 0x556d41
call dword [edx + 0x8c]
mov eax, dword [esi + 0x14]
cmp eax, 0x43
mov dword [esi + 8], 1
je 0x556a6d
cmp eax, 0x54
je 0x556a6d
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x78]
lea eax, [eax + eax*4]
lea edi, [esi + 0x1c]
lea eax, [eax*4 + 0x65fd4e]
mov edx, edi
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x556a05
cmp byte [edi], 0
je 0x556e9b
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x80]
test eax, eax
je 0x556a44
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x80]
cmp byte [eax], 0
je 0x556a44
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x80]
jmp 0x556a49
mov eax, 0x626ff1
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push eax
mov eax, dword [esi + 8]
push 0x626ff1
push eax
push ecx
push edi
push str.U_2.2s_06d_d__30s_s
push edx
call fcn.005020b0
add esp, 0x1c
jmp 0x556e9b
mov ecx, dword [esi]
push 1
call fcn.00502170
mov eax, dword [esi]
push 0x637f44
push 0
push eax
call fcn.00502310
mov edx, dword [ebp]
add esp, 0xc
mov ecx, ebp
call dword [edx + 0x80]
test eax, eax
je 0x556ba1
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x80]
cmp byte [eax], 0
je 0x556ba1
push 0
lea ecx, [esp + 0x18]
call fcn.004f60c0
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x80]
push 0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
push eax
push 0x10a7
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebp
call fcn.004ebb00
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x78]
mov edi, eax
mov ebx, esi
call fcn.00556070
push eax
mov eax, dword [esi]
push str._s_NAME_
push 0
push eax
call fcn.00502310
mov ecx, dword [esp + 0x3c]
add esp, 0x10
push 0
push ecx
push 0x8d8
mov ecx, ebp
call fcn.004ebf40
mov edi, eax
test edi, edi
je 0x556b31
mov ecx, edi
call fcn.004fdc00
test eax, eax
jne 0x556b31
mov eax, dword [edi + 0x1c]
add eax, 4
jmp 0x556b35
mov eax, dword [esp + 0x24]
mov edx, dword [esi]
push eax
push 0x61beac
push 0
push edx
call fcn.00502350
add esp, 0x10
test edi, edi
je 0x556b5e
mov ecx, edi
call fcn.004fdc00
test eax, eax
jne 0x556b5e
mov ecx, edi
call fcn.004fd220
mov eax, dword [esi]
push str.__RESERVEDNAME_
push 0
push eax
call fcn.00502310
mov ecx, dword [esp + 0x20]
mov edx, dword [esi]
push ecx
push 0x61beac
push 0
push edx
call fcn.00502350
mov eax, dword [esi]
push 0x637eb4
push 0
push eax
call fcn.00502310
add esp, 0x28
lea ecx, [esp + 0x14]
call fcn.004f6160
jmp 0x556d0f
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x78]
cmp eax, 0x17
mov ecx, ebp
jne 0x556ced
push 0x10b5
mov dword [esp + 0x28], 0
call fcn.004ebeb0
mov edx, dword [eax + 0x1c]
xor ecx, ecx
cmp edx, 2
sete cl
mov edi, ecx
test edi, edi
mov ecx, ebp
je 0x556c20
push 0x109d
call fcn.004ebeb0
mov edx, dword [eax + 0x1c]
lea eax, [edx + 4]
lea ebx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x556bf0
sub eax, ebx
cmp eax, 0x24
jb 0x556c1c
lea eax, [esp + 0x24]
push eax
add edx, 0x29
push 0x638278
push edx
call fcn.00609d76
mov eax, dword [esp + 0x30]
add esp, 0xc
test eax, eax
jne 0x556c2a
xor edi, edi
mov ecx, ebp
push 0x109b
call fcn.004ebeb0
push 0xc01
mov ecx, ebp
call fcn.004ebeb0
mov ecx, 0x800
mov ebx, eax
call fcn.004dc530
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x10], eax
add edx, 4
mov ecx, eax
mov edi, edi
mov bl, byte [edx]
inc edx
mov byte [ecx], bl
inc ecx
test bl, bl
jne 0x556c50
push 1
mov edx, 1
mov ecx, eax
call fcn.00555d00
test edi, edi
mov ecx, ebp
je 0x556cb6
push 0x109b
call fcn.004ebeb0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [ebp]
push str.Create
push ecx
push edx
mov ecx, ebp
call dword [eax + 0x78]
mov edi, eax
mov ebx, esi
call fcn.00556070
mov ecx, dword [esi]
push eax
push str._s_ID__d__VCHTYPE__s__ACTION__s_
push 0
push ecx
call fcn.00502310
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
call fcn.004dc710
jmp 0x556d0f
mov edx, dword [esp + 0x10]
mov eax, dword [ebp]
push str.Create
push edx
call dword [eax + 0x78]
mov edi, eax
mov ebx, esi
call fcn.00556070
mov ecx, dword [esi]
push eax
push str._s_VCHTYPE__s__ACTION__s_
push 0
push ecx
call fcn.00502310
mov ecx, dword [esp + 0x28]
add esp, 0x18
call fcn.004dc710
jmp 0x556d0f
mov edx, dword [ebp]
call dword [edx + 0x78]
mov edi, eax
mov ebx, esi
call fcn.00556070
push eax
mov eax, dword [esi]
push 0x61beac
push 0
push eax
call fcn.00502310
add esp, 0x10
mov eax, dword [esp + 0x28]
test ax, ax
je 0x556d2a
mov ecx, dword [esp + 0x30]
mov edx, dword [esi]
mov edi, dword [esp + 0x2c]
push ecx
push eax
push edx
call fcn.005568e0
mov eax, dword [esi]
push 0x632cd4
push 1
push eax
call fcn.00502310
add esp, 0xc
jmp 0x556e9b
push 0
push 0
call dword [edx + 0x74]
test eax, eax
jne 0x557062
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0x78]
test eax, eax
jne 0x556d8b
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x556e9b
mov ecx, dword [eax + 0xc]
and ecx, 0x3f
cmp cl, 0xc
jne 0x556e9b
test byte [eax + 0x35], 1
je 0x556e9b
mov ecx, dword [eax + 0x38]
test ecx, ecx
jne 0x556e9b
test byte [esi + 0x11], 1
je 0x556dce
mov ecx, dword [esi + 0x10]
xor edx, edx
call fcn.00555ef0
test eax, eax
je 0x556dce
mov eax, dword [eax + 0x14]
lea edx, [eax + 0xe0]
cmp edx, 0xef
jle 0x556dbe
movzx ebx, ax
shl ebx, 0x10
or ebx, 0x41e0
jmp 0x556dd1
add eax, 0xe0
movzx ebx, ax
or ebx, 0x100
jmp 0x556dd1
mov ebx, dword [esi + 0x10]
mov edi, esi
call fcn.00555f20
mov edi, eax
mov eax, dword [esi + 0x14]
cmp eax, 0x43
je 0x556e10
cmp eax, 0x54
je 0x556e10
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
push edi
push eax
mov eax, dword [esi]
push ecx
lea edx, [esi + 0x1c]
push edx
push str.U_2.2s_06d_d__30s
push eax
call fcn.005020b0
mov eax, dword [esi + 8]
add esp, 0x18
inc eax
mov dword [esi + 8], eax
jmp 0x556e9b
mov eax, dword [esi + 8]
test eax, eax
je 0x557062
mov ecx, dword [esi]
push eax
call fcn.00502170
test byte [esi + 0x11], 1
je 0x556e88
mov edx, dword [ebp]
push 0
mov ecx, ebp
call dword [edx + 0x78]
mov ecx, dword [esi + 0x24]
push eax
mov edx, edi
call fcn.00555c40
test eax, eax
jne 0x556e9b
push edi
push str._UDF:_s.LIST
push eax
mov eax, dword [esi]
push eax
call fcn.00502310
mov ebx, dword [esi + 0x10]
add esp, 0x10
push esi
call fcn.00555fb0
test eax, eax
je 0x556e74
mov ecx, dword [esi]
push eax
push str._DESC__s_
push 0
push ecx
call fcn.00502310
add esp, 0x10
mov edx, dword [esi]
push 0x632cd4
push 1
push edx
call fcn.00502310
add esp, 0xc
jmp 0x556e9b
mov eax, dword [esi]
push edi
push str.__s.LIST_
push 1
push eax
call fcn.00502310
add esp, 0x10
mov eax, dword [esi + 0x14]
cmp eax, 0x43
je 0x556ea8
cmp eax, 0x54
jne 0x556eab
inc dword [esi + 8]
push esi
push 0x556860
mov ecx, ebp
call fcn.004ec1e0
push esi
push 0x5564f0
mov ecx, ebp
call fcn.004ec1b0
push esi
push 0x556800
mov ecx, ebp
call fcn.004ec1e0
push esi
push 0x5568a0
mov ecx, ebp
call fcn.004ec1e0
mov eax, dword [esi + 0x14]
cmp eax, 0x43
je 0x556eec
cmp eax, 0x54
jne 0x556eef
dec dword [esi + 8]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x78]
lea eax, [eax + eax*4]
mov ecx, dword [eax*4 + 0x65fd48]
test ecx, ecx
je 0x556f58
mov eax, dword [esi + 0x14]
cmp eax, 0x43
je 0x556f12
cmp eax, 0x54
jne 0x556f45
mov eax, dword [esi + 8]
test eax, eax
je 0x556f21
mov ecx, dword [esi]
push eax
call fcn.00502170
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x78]
mov edi, eax
mov ebx, esi
call fcn.00556070
push eax
mov eax, dword [esi]
push str.___s_
push 1
push eax
call fcn.00502310
add esp, 0x10
pop edi
mov dword [esi + 8], 0
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x10
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x78]
test eax, eax
jne 0x556f93
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x557062
mov ecx, dword [eax + 0xc]
and ecx, 0x3f
cmp cl, 0xc
jne 0x557062
test byte [eax + 0x35], 1
je 0x557062
mov ecx, dword [eax + 0x38]
test ecx, ecx
jne 0x557062
mov eax, dword [esi + 0x14]
cmp eax, 0x43
je 0x556fb3
cmp eax, 0x54
je 0x556fb3
mov eax, dword [esi + 8]
dec eax
pop edi
mov dword [esi + 8], eax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x10
test byte [esi + 0x11], 1
je 0x556ff6
mov ecx, dword [esi + 0x10]
xor edx, edx
call fcn.00555ef0
test eax, eax
je 0x556ff6
mov eax, dword [eax + 0x14]
lea edx, [eax + 0xe0]
cmp edx, 0xef
jle 0x556fe6
movzx ebx, ax
shl ebx, 0x10
or ebx, 0x41e0
jmp 0x556ff9
add eax, 0xe0
movzx ebx, ax
or ebx, 0x100
jmp 0x556ff9
mov ebx, dword [esi + 0x10]
mov edi, esi
call fcn.00555f20
mov edi, eax
mov eax, dword [esi + 8]
test eax, eax
je 0x557011
mov ecx, dword [esi]
push eax
call fcn.00502170
test byte [esi + 0x11], 1
je 0x55704f
mov eax, dword [ebp]
push 0
mov ecx, ebp
call dword [eax + 0x78]
mov ecx, dword [esi + 0x24]
push eax
mov edx, edi
call fcn.00555c40
test eax, eax
jne 0x557062
mov ecx, dword [esi]
push edi
push str.__UDF:_s.LIST_
push 1
push ecx
call fcn.00502310
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x10
mov edx, dword [esi]
push edi
push str.___s.LIST_
push 1
push edx
call fcn.00502310
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x10