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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.00510980
mov dword [esp + 0x10], eax
mov ax, word [0x62cac8]
mov word [esp + 0x1c], ax
mov word [esp + 0x18], ax
mov eax, dword [esi + 0x28]
mov edi, dword [eax + 0x28]
mov ebx, dword [eax + 0x2c]
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
mov cx, word [eax + 0x68]
xor ebp, ebp
push ebp
push esi
push ebp
mov edx, esi
mov dword [esp + 0x20], edi
call fcn.0056af30
mov byte [esi + 0xe0], al
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffe0
je 0x54b295
cmp eax, 0xffffffd9
je 0x54b295
mov edx, dword [esi + 0x28]
mov al, byte [edx + 0x60]
test al, 2
je 0x54b158
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
cmp word [eax + 0x16], bp
mov ecx, dword [0x71f070]
je 0x54b148
push ebp
push edx
mov edx, ecx
mov cx, word [eax + 0x16]
push esi
call fcn.00533ca0
mov dword [esi + 0x70], eax
mov ecx, dword [0x71f074]
jmp 0x54b198
call fcn.00533c50
mov dword [esi + 0x70], eax
mov ecx, dword [0x71f074]
jmp 0x54b198
test al, 1
mov cx, word [0x71f02a]
mov word [esp + 0x20], cx
je 0x54b186
mov eax, dword [esi + 0x2c]
mov eax, dword [eax + 8]
cmp word [eax + 0x18], bp
je 0x54b186
mov cx, word [eax + 0x18]
push ebp
push edx
mov edx, dword [esp + 0x28]
push esi
call fcn.00533ca0
jmp 0x54b18f
mov ecx, dword [esp + 0x20]
call fcn.00533c50
mov dword [esi + 0x70], eax
mov ecx, dword [0x71f028]
mov edx, dword [esi + 0x28]
call fcn.00533c50
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 ebp
xor edx, edx
mov dx, word [eax + 0x1e]
push ecx
push 1
push esi
lea ecx, [esp + 0x24]
push edx
call fcn.00510be0
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 ebp
push edx
push 1
push esi
push eax
lea ecx, [esp + 0x28]
call fcn.00510be0
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x64], eax
test byte [ecx + 0x60], 2
jne 0x54b226
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
mov eax, dword [0x723e48]
sub dword [esi + 0x60], eax
jns 0x54b212
mov dword [esi + 0x60], ebp
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
mov eax, dword [0x723e4c]
sub dword [esi + 0x64], eax
jns 0x54b226
mov dword [esi + 0x64], ebp
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
mov eax, dword [ecx + 8]
movzx eax, word [eax + 0x1a]
push ebp
push edx
push 1
push esi
push eax
lea ecx, [esp + 0x24]
call fcn.00510d60
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
push ebp
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 + 0x24]
call fcn.00510d60
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x6c], eax
test byte [ecx + 0x60], 2
jne 0x54b295
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
mov eax, dword [0x723e40]
sub dword [esi + 0x68], eax
jns 0x54b281
mov dword [esi + 0x68], ebp
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x2c]
mov eax, dword [0x723e44]
sub dword [esi + 0x6c], eax
jns 0x54b295
mov dword [esi + 0x6c], ebp
push ebx
push edi
mov ecx, esi
call fcn.0054a810
push edi
mov ecx, esi
call fcn.0054a920
push ebx
mov ecx, esi
call fcn.0054aae0
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0xc]
cmp eax, 0x4e
je 0x54b401
cmp eax, 0x4d
je 0x54b401
mov ebp, dword [esi + 0x50]
cmp ebp, edi
jle 0x54b2dd
mov eax, edi
imul eax, eax, 0x2710
cdq
idiv ebp
mov word [esp + 0x1c], ax
mov ecx, dword [esi + 0x54]
cmp ecx, ebx
jle 0x54b2f4
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 0x54b30f
mov ax, word [esp + 0x18]
mov word [edi], ax
jmp 0x54b317
mov cx, word [esp + 0x1c]
mov word [edi], cx
cmp word [edi], 0x2710
je 0x54b3b6
push ebp
mov ecx, edi
call fcn.005192b0
mov ecx, dword [esp + 0x14]
cmp eax, ecx
mov dword [esi + 0x50], eax
jle 0x54b33a
mov edx, ecx
mov dword [esi + 0x50], edx
mov eax, dword [esi + 0x54]
push eax
mov ecx, edi
call fcn.005192b0
cmp eax, ebx
mov dword [esi + 0x54], eax
jle 0x54b34f
mov dword [esi + 0x54], ebx
mov ecx, dword [esi + 0x68]
push ecx
mov ecx, edi
call fcn.005192b0
mov edx, dword [esi + 0x6c]
push edx
mov ecx, edi
mov dword [esi + 0x68], eax
call fcn.005192b0
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x60]
push eax
mov ecx, edi
call fcn.005192b0
mov ecx, dword [esi + 0x64]
push ecx
mov ecx, edi
mov dword [esi + 0x60], eax
call fcn.005192b0
mov edx, dword [esi + 0x30]
mov dword [esi + 0x64], eax
mov ebp, dword [edx]
test ebp, ebp
je 0x54b3b6
test byte [ebp + 0x125], 8
jne 0x54b3a9
push edi
mov ecx, ebp
call fcn.00580130
push edi
mov ecx, ebp
call fcn.00580330
mov ecx, ebp
call fcn.004ecf40
mov ebp, eax
test ebp, ebp
jne 0x54b390
mov edi, dword [esp + 0x14]
xor ebp, ebp
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffe0
je 0x54b6b1
cmp eax, 0xffffffd9
je 0x54b6b1
mov eax, dword [esi + 0x28]
test byte [eax + 0x60], 2
jne 0x54b4be
mov ecx, dword [esi + 0x54]
cmp ecx, ebx
jge 0x54b461
mov eax, dword [esi + 0xdc]
cmp eax, 1
jne 0x54b441
mov eax, dword [esi + 0x6c]
mov edx, ebx
sub edx, ecx
add eax, edx
mov dword [esi + 0x6c], eax
jmp 0x54b45e
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 0x60]
cmp eax, 0xffffffe0
je 0x54b3bc
cmp eax, 0xffffffd9
je 0x54b3bc
mov eax, dword [esi + 0x50]
cmp eax, edi
jg 0x54b41d
cmp dword [esi + 0x54], ebx
jle 0x54b3bc
mov ecx, dword [esi + 0x54]
mov edx, dword [esi]
push ecx
push eax
push ebx
push edi
mov ecx, esi
call dword [edx + 0x38]
push eax
push str.Cannot_print_Report:_s_nAvailable__d_x__d_nNeeded__d_x__d_
push ebp
push 0x1b
call fcn.004edf50
add esp, 0x20
jmp 0x54b3bc
cmp eax, 2
mov eax, ebx
jne 0x54b44c
sub eax, ecx
jmp 0x54b45b
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, edi
jge 0x54b569
mov eax, dword [esi + 0xd8]
cmp eax, 1
jne 0x54b48b
mov eax, dword [esi + 0x64]
mov edx, edi
sub edx, ecx
add eax, edx
mov dword [esi + 0x64], eax
mov dword [esi + 0x50], edi
jmp 0x54b569
cmp eax, 2
mov eax, edi
jne 0x54b49f
sub eax, ecx
add dword [esi + 0x60], eax
mov dword [esi + 0x50], edi
jmp 0x54b569
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], edi
jmp 0x54b569
cmp dword [esi + 0x50], edi
mov byte [esp + 0x18], 0
mov byte [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov byte [esp + 0x14], 0
jge 0x54b4f1
mov eax, dword [esi + 0xd8]
cmp eax, 1
je 0x54b4ec
cmp eax, 2
mov byte [esp + 0x18], 1
je 0x54b4f1
mov byte [esp + 0x1c], 1
cmp dword [esi + 0x54], ebx
jge 0x54b510
mov eax, dword [esi + 0xdc]
cmp eax, 2
je 0x54b50b
cmp eax, 1
mov byte [esp + 0x14], 1
je 0x54b510
mov byte [esp + 0x20], 1
push ebp
push 0x14
mov ecx, 0x63b520
call fcn.004e1dd0
cmp eax, ebp
je 0x54b545
mov ecx, dword [0x63b744]
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ecx
mov ecx, eax
call fcn.005190b0
jmp 0x54b547
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
cmp dword [esi + 0x78], ebp
jle 0x54b684
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx]
xor ebp, ebp
test edi, edi
je 0x54b5b6
lea ecx, [ecx]
test byte [edi + 0x125], 8
jne 0x54b5a9
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x54b5a9
push eax
lea ecx, [edi + 0xc0]
call fcn.005192b0
test ebp, ebp
je 0x54b5a7
cmp ebp, eax
jle 0x54b5a9
mov ebp, eax
mov ecx, edi
call fcn.004ecf40
mov edi, eax
test edi, edi
jne 0x54b580
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
test edi, edi
je 0x54b5f2
nop
test byte [edi + 0x125], 8
jne 0x54b5e5
mov eax, dword [edi + 0xbc]
test eax, eax
je 0x54b5e5
push ebp
lea ecx, [edi + 0xc0]
call fcn.005192b0
mov dword [edi + 0xbc], eax
mov ecx, edi
call fcn.004ecf40
mov edi, eax
test edi, edi
jne 0x54b5c0
mov edi, dword [esi + 0x78]
lea ecx, [edi + edi*2]
lea ecx, [ecx*4 + 4]
call fcn.004dc530
test eax, eax
je 0x54b61d
push 0x415ef0
push edi
lea ebp, [eax + 4]
push 0xc
push ebp
mov dword [eax], edi
call fcn.004e50d0
jmp 0x54b61f
xor ebp, ebp
mov eax, dword [esi + 0x30]
mov dword [esi + 0x80], ebp
mov edi, dword [eax]
test edi, edi
je 0x54b654
mov edi, edi
test byte [edi + 0x125], 8
jne 0x54b647
mov ecx, dword [esi + 0x80]
push ecx
mov ecx, edi
call fcn.0057fa20
mov ecx, edi
call fcn.004ecf40
mov edi, eax
test edi, edi
jne 0x54b630
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
test edi, edi
je 0x54b684
lea ecx, [ecx]
test byte [edi + 0x125], 8
jne 0x54b677
mov eax, dword [esi + 0x80]
push eax
mov ecx, edi
call fcn.0057fb40
mov ecx, edi
call fcn.004ecf40
mov edi, eax
test edi, edi
jne 0x54b660
mov ecx, dword [esi + 0x30]
mov edi, dword [ecx]
test edi, edi
je 0x54b6b1
lea ecx, [ecx]
test byte [edi + 0x125], 8
jne 0x54b6a4
mov edx, dword [esi + 0x28]
push edx
mov ecx, edi
call fcn.00580dc0
mov ecx, edi
call fcn.004ecf40
mov edi, eax
test edi, edi
jne 0x54b690
mov ecx, dword [esp + 0x10]
call fcn.00510970
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret