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

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.004c5590
mov ecx, eax
mov eax, dword [esp + 0x58]
mov edi, edx
cdq
add ecx, eax
adc edi, edx
xor ebp, ebp
add ecx, 4
mov dword [esp + 0x30], ecx
adc edi, ebp
mov ebx, ecx
mov ecx, esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x34], edi
call fcn.004c5590
cmp edx, edi
jg 0x575455
jl 0x575015
cmp eax, ebx
jae 0x575455
mov ebx, dword [esp + 0x54]
jmp 0x575022
xor ebp, ebp
push 1
push 0x20
mov ecx, esi
call fcn.004c55b0
cmp eax, 1
jne 0x575243
cmp edx, ebp
jne 0x575243
mov ecx, esi
call fcn.004c5590
push 0
push 0x20
mov ecx, esi
mov edi, eax
mov ebp, edx
call fcn.004c55b0
push 0
push 8
mov ecx, esi
call fcn.004c55b0
mov edx, dword [esp + 0x20]
mov ecx, edx
or ecx, dword [esp + 0x24]
je 0x575089
mov ecx, dword [esp + 0x10]
or ecx, dword [esp + 0x14]
jne 0x575089
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, ebp
sbb ecx, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
jmp 0x5750b1
mov edx, dword [esp + 0x28]
mov ecx, edx
or ecx, dword [esp + 0x2c]
je 0x5750b1
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x1c]
jne 0x5750b1
mov ecx, edi
sub ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, ebp
sbb ecx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov cl, al
and cl, 0x9f
cmp cl, 7
jne 0x5751c3
test al, 0x60
je 0x5751c3
push 0
push 8
mov ecx, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
call fcn.004c55b0
push 0
push 8
mov ecx, esi
mov byte [ebx], al
call fcn.004c55b0
push 0
push 8
mov ecx, esi
call fcn.004c55b0
mov ecx, esi
mov byte [ebx + 1], al
call fcn.004c56c0
mov ecx, esi
call fcn.004c56c0
mov ecx, esi
call fcn.004c56c0
mov ecx, eax
or ecx, edx
jne 0x575119
mov ecx, esi
call fcn.004c56c0
jmp 0x57516b
cmp eax, 1
jne 0x57516b
test edx, edx
jne 0x57516b
push edx
push eax
mov ecx, esi
call fcn.004c55b0
mov ecx, esi
call fcn.004c5710
mov ecx, esi
call fcn.004c5710
mov ecx, esi
call fcn.004c56c0
mov ebp, edx
xor edi, edi
test ebp, ebp
mov dword [esp + 0x38], eax
jb 0x57516b
ja 0x575152
test eax, eax
jbe 0x57516b
mov ecx, esi
call fcn.004c5710
add edi, 1
mov eax, edi
cdq
cmp edx, ebp
jb 0x575152
ja 0x57516b
cmp eax, dword [esp + 0x38]
jb 0x575152
mov ecx, esi
call fcn.004c56c0
push 0
push 1
mov ecx, esi
call fcn.004c55b0
mov ecx, esi
call fcn.004c56c0
mov ecx, esi
mov edi, eax
mov dword [esp + 0x44], edx
call fcn.004c56c0
push 0
push 1
mov ecx, esi
mov ebp, eax
mov dword [esp + 0x4c], edx
call fcn.004c55b0
movzx edx, al
mov eax, 2
sub eax, edx
add ebp, 1
imul eax, ebp
add edi, 1
shl edi, 4
shl eax, 4
mov dword [ebx + 2], edi
mov dword [ebx + 6], eax
jmp 0x5751d4
cmp cl, 8
jne 0x5751d4
test al, 0x60
je 0x5751d4
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebp
mov ecx, esi
call fcn.004c5670
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov ecx, esi
call fcn.004c5590
cmp edx, edi
jg 0x575224
jl 0x5751f4
cmp eax, ebp
jae 0x575224
push 1
push 0x20
mov ecx, esi
call fcn.004c55b0
cmp eax, 1
jne 0x575208
test edx, edx
je 0x575224
push 0
push 8
mov ecx, esi
call fcn.004c55b0
mov ecx, esi
call fcn.004c5590
cmp edx, edi
jl 0x5751f4
jg 0x575224
cmp eax, ebp
jb 0x5751f4
mov ecx, esi
call fcn.004c5590
mov ecx, dword [esp + 0x34]
cmp edx, ecx
jl 0x575020
jg 0x575243
cmp eax, dword [esp + 0x30]
jb 0x575020
mov ecx, dword [esp + 0x20]
or ecx, dword [esp + 0x24]
je 0x575455
mov edx, dword [esp + 0x10]
or edx, dword [esp + 0x14]
je 0x575455
mov eax, dword [esp + 0x28]
or eax, dword [esp + 0x2c]
je 0x575455
mov ecx, dword [esp + 0x18]
or ecx, dword [esp + 0x1c]
je 0x575455
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x575449
mov ecx, dword [0x59dbb4]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov dword [ebp], ecx
lea edi, [edx + eax - 4]
mov edx, dword [0x59dbb8]
mov dword [ebp + 4], edx
mov eax, dword [0x59dbbc]
mov dword [ebp + 8], eax
mov ecx, dword [0x59dbc0]
mov dword [ebp + 0xc], ecx
mov edx, 0x31435641
mov dword [ebp + 0x10], edx
mov word [esp + 0x44], 0
mov word [esp + 0x46], 0x10
mov edx, dword [esp + 0x44]
mov dword [ebp + 0x14], edx
mov eax, 0xaa000080
mov dword [ebp + 0x18], eax
mov ecx, 0x719b3800
mov dword [ebp + 0x1c], ecx
mov eax, dword [0x59df44]
mov dword [ebp + 0x2c], eax
mov ecx, dword [0x59df48]
mov dword [ebp + 0x30], ecx
mov edx, dword [0x59df4c]
mov dword [ebp + 0x34], edx
mov eax, dword [0x59df50]
mov dword [ebp + 0x38], eax
lea eax, [edi + 0x84]
push eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
call fcn.0044ff68
mov ecx, dword [esp + 0x5c]
push ecx
mov edi, eax
push 0
push edi
call fcn.004727f0
mov edx, dword [ebx + 2]
mov dword [edi + 0x38], edx
mov eax, dword [ebx + 6]
mov dword [edi + 0x3c], eax
mov dword [edi + 0x48], 0x28
mov ecx, dword [ebx + 2]
mov dword [edi + 0x4c], ecx
mov edx, dword [ebx + 6]
mov dword [edi + 0x50], edx
mov edx, dword [esp + 0x64]
mov dword [edi + 0x58], 0x31435641
movzx eax, byte [ebx]
mov dword [edi + 0x78], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x80], 4
movzx ecx, byte [ebx + 1]
mov dword [edi + 0x7c], ecx
mov ecx, dword [esp + 0x24]
add esp, 0x10
sub eax, 4
sbb ecx, 0
mov dword [edi + 0x74], edx
mov dword [esp + 0x34], ecx
mov edx, ecx
mov cl, 8
lea ebx, [edi + 0x84]
mov dword [esp + 0x30], eax
call fcn.00569660
mov ecx, dword [esp + 0x24]
mov byte [ebx], al
movzx eax, byte [esp + 0x10]
add ebx, 1
sub al, 4
mov byte [ebx], al
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
add ebx, 1
add eax, 4
adc ecx, 0
push ecx
push eax
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
push ebx
mov ecx, esi
call fcn.004c5690
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea ebx, [ebx + eax - 4]
mov eax, dword [esp + 0x18]
sub eax, 4
sbb ecx, 0
mov dword [esp + 0x34], ecx
mov edx, ecx
mov cl, 8
mov dword [esp + 0x30], eax
call fcn.00569660
mov ecx, dword [esp + 0x2c]
mov byte [ebx], al
mov al, byte [esp + 0x18]
sub al, 4
mov byte [ebx + 1], al
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
add ebx, 1
add eax, 4
adc ecx, 0
push ecx
push eax
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
add ebx, 1
push ebx
mov ecx, esi
call fcn.004c5690
mov eax, dword [esp + 0x58]
push eax
push edi
mov ecx, ebp
call fcn.00557de0
push edi
call fcn.0044ff63
add esp, 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x40
ret 0xc
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x40
ret 0xc