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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.005109a0
mov dword [esp + 0x14], eax
mov ax, word [0x663ac8]
mov word [esp + 0x1c], ax
mov word [esp + 0x18], ax
mov eax, dword [esi + 0x28]
mov ebp, dword [eax + 0x28]
mov ebx, dword [eax + 0x2c]
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
mov cx, word [eax + 0x68]
push 0
push esi
push 0
mov edx, esi
mov dword [esp + 0x1c], ebp
call fcn.0056afe0
mov byte [esi + 0xe0], al
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffe0
je 0x54b2e1
cmp eax, 0xffffffd9
je 0x54b2e1
mov edx, dword [esi + 0x28]
mov al, byte [edx + 0x60]
test al, 2
je 0x54b18a
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
cmp word [eax + 0x16], 0
mov ecx, dword [0x759770]
je 0x54b17a
push 0
push edx
mov edx, ecx
mov cx, word [eax + 0x16]
push esi
call fcn.00533c90
mov dword [esi + 0x70], eax
mov ecx, dword [0x759774]
jmp 0x54b1cc
call fcn.00533c40
mov dword [esi + 0x70], eax
mov ecx, dword [0x759774]
jmp 0x54b1cc
test al, 1
mov cx, word [0x75972a]
mov word [esp + 0x20], cx
je 0x54b1ba
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
cmp word [eax + 0x18], 0
je 0x54b1ba
mov cx, word [eax + 0x18]
push 0
push edx
mov edx, dword [esp + 0x28]
push esi
call fcn.00533c90
jmp 0x54b1c3
mov ecx, dword [esp + 0x20]
call fcn.00533c40
mov dword [esi + 0x70], eax
mov ecx, dword [0x759728]
mov edx, dword [esi + 0x28]
call fcn.00533c40
mov ecx, dword [esi + 0x2c]
xor edx, edx
mov dl, byte [esi + 0xe0]
mov dword [esi + 0x74], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esi + 0x28]
push edx
push 0
xor edx, edx
mov dx, word [eax + 0x1e]
push ecx
push 1
push esi
lea ecx, [esp + 0x28]
push edx
call fcn.00510c00
mov edx, dword [esi + 0x28]
xor ecx, ecx
mov cl, byte [esi + 0xe0]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
movzx eax, word [eax + 0x20]
push ecx
push 0
push edx
push 1
push esi
push eax
lea ecx, [esp + 0x2c]
call fcn.00510c00
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x64], eax
test byte [ecx + 0x60], 2
jne 0x54b266
mov edx, dword [esi]
mov edi, dword [0x75e548]
mov ecx, esi
call dword [edx + 0x2c]
sub dword [esi + 0x60], edi
jns 0x54b24d
mov dword [esi + 0x60], 0
mov eax, dword [esi]
mov edi, dword [0x75e54c]
mov ecx, esi
call dword [eax + 0x2c]
sub dword [esi + 0x64], edi
jns 0x54b266
mov dword [esi + 0x64], 0
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
movzx eax, word [eax + 0x1a]
push 0
push edx
push 1
push esi
push eax
lea ecx, [esp + 0x28]
call fcn.00510d80
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
push 0
mov dword [esi + 0x68], eax
mov eax, dword [ecx + 8]
movzx eax, word [eax + 0x1c]
push edx
push 1
push esi
push eax
lea ecx, [esp + 0x28]
call fcn.00510d80
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x6c], eax
test byte [ecx + 0x60], 2
jne 0x54b2e1
mov edx, dword [esi]
mov edi, dword [0x75e540]
mov ecx, esi
call dword [edx + 0x2c]
sub dword [esi + 0x68], edi
jns 0x54b2c8
mov dword [esi + 0x68], 0
mov eax, dword [esi]
mov edi, dword [0x75e544]
mov ecx, esi
call dword [eax + 0x2c]
sub dword [esi + 0x6c], edi
jns 0x54b2e1
mov dword [esi + 0x6c], 0
push ebx
push ebp
mov ecx, esi
call fcn.0054a840
push ebp
mov ecx, esi
call fcn.0054a950
push ebx
mov ecx, esi
call fcn.0054ab10
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
cmp eax, 0x4e
je 0x54b44f
cmp eax, 0x4d
je 0x54b44f
mov ebp, dword [esi + 0x50]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jle 0x54b32b
imul eax, eax, 0x2710
cdq
idiv ebp
mov word [esp + 0x1c], ax
mov ecx, dword [esi + 0x54]
cmp ecx, ebx
jle 0x54b342
mov eax, ebx
imul eax, eax, 0x2710
cdq
idiv ecx
mov word [esp + 0x18], ax
movzx ecx, word [esp + 0x18]
movzx edx, word [esp + 0x1c]
sub ecx, edx
lea edi, [esi + 0x4c]
jns 0x54b35d
mov ax, word [esp + 0x18]
mov word [edi], ax
jmp 0x54b365
mov cx, word [esp + 0x1c]
mov word [edi], cx
cmp word [edi], 0x2710
je 0x54b406
push ebp
mov ecx, edi
call fcn.005192d0
mov ecx, dword [esp + 0x10]
cmp eax, ecx
mov dword [esi + 0x50], eax
jle 0x54b388
mov edx, ecx
mov dword [esi + 0x50], edx
mov eax, dword [esi + 0x54]
push eax
mov ecx, edi
call fcn.005192d0
cmp eax, ebx
mov dword [esi + 0x54], eax
jle 0x54b39d
mov dword [esi + 0x54], ebx
mov ecx, dword [esi + 0x68]
push ecx
mov ecx, edi
call fcn.005192d0
mov edx, dword [esi + 0x6c]
push edx
mov ecx, edi
mov dword [esi + 0x68], eax
call fcn.005192d0
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x60]
push eax
mov ecx, edi
call fcn.005192d0
mov ecx, dword [esi + 0x64]
push ecx
mov ecx, edi
mov dword [esi + 0x60], eax
call fcn.005192d0
mov edx, dword [esi + 0x30]
mov dword [esi + 0x64], eax
mov ebp, dword [edx]
test ebp, ebp
je 0x54b406
mov edi, edi
test byte [ebp + 0x125], 8
jne 0x54b3f9
push edi
mov ecx, ebp
call fcn.005801b0
push edi
mov ecx, ebp
call fcn.005803b0
mov ecx, ebp
call fcn.004ecf70
mov ebp, eax
test ebp, ebp
jne 0x54b3e0
mov ebp, dword [esp + 0x10]
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffe0
je 0x54b701
cmp eax, 0xffffffd9
je 0x54b701
mov eax, dword [esi + 0x28]
test byte [eax + 0x60], 2
jne 0x54b50d
mov ecx, dword [esi + 0x54]
cmp ecx, ebx
jge 0x54b4b0
mov eax, dword [esi + 0xdc]
cmp eax, 1
jne 0x54b490
mov eax, dword [esi + 0x6c]
mov edx, ebx
sub edx, ecx
add eax, edx
mov dword [esi + 0x6c], eax
jmp 0x54b4ad
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffe0
je 0x54b40a
cmp eax, 0xffffffd9
je 0x54b40a
mov eax, dword [esi + 0x50]
cmp eax, ebp
jg 0x54b46b
cmp dword [esi + 0x54], ebx
jle 0x54b40a
mov ecx, dword [esi + 0x54]
mov edx, dword [esi]
push ecx
push eax
push ebx
push ebp
mov ecx, esi
call dword [edx + 0x38]
push eax
push str.Cannot_print_Report:_s_nAvailable__d_x__d_nNeeded__d_x__d_
push 0
push 0x1b
call fcn.004edf70
add esp, 0x20
jmp 0x54b40a
cmp eax, 2
mov eax, ebx
jne 0x54b49b
sub eax, ecx
jmp 0x54b4aa
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esi + 0x6c]
sar eax, 1
add edx, eax
mov dword [esi + 0x6c], edx
add dword [esi + 0x68], eax
mov dword [esi + 0x54], ebx
mov ecx, dword [esi + 0x50]
cmp ecx, ebp
jge 0x54b5b9
mov eax, dword [esi + 0xd8]
cmp eax, 1
jne 0x54b4da
mov eax, dword [esi + 0x64]
mov edx, ebp
sub edx, ecx
add eax, edx
mov dword [esi + 0x64], eax
mov dword [esi + 0x50], ebp
jmp 0x54b5b9
cmp eax, 2
mov eax, ebp
jne 0x54b4ee
sub eax, ecx
add dword [esi + 0x60], eax
mov dword [esi + 0x50], ebp
jmp 0x54b5b9
sub eax, ecx
mov ecx, dword [esi + 0x60]
cdq
sub eax, edx
mov edx, dword [esi + 0x64]
sar eax, 1
add edx, eax
add ecx, eax
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], ecx
mov dword [esi + 0x50], ebp
jmp 0x54b5b9
cmp dword [esi + 0x50], ebp
mov byte [esp + 0x18], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov byte [esp + 0x10], 0
jge 0x54b540
mov eax, dword [esi + 0xd8]
cmp eax, 1
je 0x54b53b
cmp eax, 2
mov byte [esp + 0x18], 1
je 0x54b540
mov byte [esp + 0x1c], 1
cmp dword [esi + 0x54], ebx
jge 0x54b55f
mov eax, dword [esi + 0xdc]
cmp eax, 2
je 0x54b55a
cmp eax, 1
mov byte [esp + 0x10], 1
je 0x54b55f
mov byte [esp + 0x20], 1
push 0
push 0x14
mov ecx, 0x675c20
call fcn.004e1e00
test eax, eax
je 0x54b595
mov ecx, dword [0x675e44]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ecx
mov ecx, eax
call fcn.005190d0
jmp 0x54b597
xor eax, eax
mov edi, dword [esi + 0x50]
mov dword [esi + 0x3c], eax
movzx edx, byte [eax + 7]
movzx ecx, byte [eax + 6]
add edx, ecx
add edi, edx
mov dword [esi + 0x50], edi
movzx edx, byte [eax + 5]
movzx eax, byte [eax + 4]
add edx, eax
add dword [esi + 0x54], edx
mov eax, dword [esi + 0x78]
test eax, eax
jle 0x54b6d4
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx]
xor ebp, ebp
test edi, edi
je 0x54b606
nop
test byte [edi + 0x125], 8
jne 0x54b5f9
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x54b5f9
push eax
lea ecx, [edi + 0xc0]
call fcn.005192d0
test ebp, ebp
je 0x54b5f7
cmp ebp, eax
jle 0x54b5f9
mov ebp, eax
mov ecx, edi
call fcn.004ecf70
mov edi, eax
test edi, edi
jne 0x54b5d0
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
test edi, edi
je 0x54b642
nop
test byte [edi + 0x125], 8
jne 0x54b635
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x54b635
push ebp
lea ecx, [edi + 0xc0]
call fcn.005192d0
mov dword [edi + 0xbc], eax
mov ecx, edi
call fcn.004ecf70
mov edi, eax
test edi, edi
jne 0x54b610
mov edi, dword [esi + 0x78]
lea ecx, [edi + edi*2]
lea ecx, [ecx*4 + 4]
call fcn.004dc5a0
test eax, eax
je 0x54b66d
push 0x54a830
push edi
lea ebp, [eax + 4]
push 0xc
push ebp
mov dword [eax], edi
call fcn.004e5100
jmp 0x54b66f
xor ebp, ebp
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], ebp
mov edi, dword [eax]
test edi, edi
je 0x54b6a4
mov edi, edi
test byte [edi + 0x125], 8
jne 0x54b697
mov ecx, dword [esi + 0x80]
push ecx
mov ecx, edi
call fcn.0057faa0
mov ecx, edi
call fcn.004ecf70
mov edi, eax
test edi, edi
jne 0x54b680
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
test edi, edi
je 0x54b6d4
lea ecx, [ecx]
test byte [edi + 0x125], 8
jne 0x54b6c7
mov eax, dword [esi + 0x80]
push eax
mov ecx, edi
call fcn.0057fbc0
mov ecx, edi
call fcn.004ecf70
mov edi, eax
test edi, edi
jne 0x54b6b0
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx]
test edi, edi
je 0x54b701
lea ecx, [ecx]
test byte [edi + 0x125], 8
jne 0x54b6f4
mov edx, dword [esi + 0x28]
push edx
mov ecx, edi
call fcn.00580e40
mov ecx, edi
call fcn.004ecf70
mov edi, eax
test edi, edi
jne 0x54b6e0
mov ecx, dword [esp + 0x14]
call fcn.00510990
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret