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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
movzx eax, byte [esp + 0x78]
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0x68]
mov eax, dword [esi]
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], eax
mov ebx, dword [esi + 4]
mov dword [esp + 0x34], ebx
mov edx, dword [esp + 0x74]
movzx ebp, dh
mov dword [esp + 0x30], ebp
test ebx, ebx
js 0x4b4f51
lea eax, [esp + 0x70]
cmp ebp, 1
mov ecx, ebx
sbb ecx, 0xffffffff
mov esi, dword [esi + 8]
lea edi, [esi + ebx]
mov dword [esp + 0x10], edi
mov edi, dword [eax]
mov eax, dword [eax + 4]
cmp al, 1
je 0x4b4c0a
movzx eax, al
test eax, eax
jne 0x4b4bd5
test edi, edi
mov eax, 0x10
cmovg eax, edi
cmp dword [esp + 0x10], 0xfffffffd
jl 0x4b4c0a
cmp dword [esp + 0x10], eax
jg 0x4b4c0a
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
test esi, esi
js 0x4b4d0f
add esi, ecx
sub edi, eax
mov dword [esp + 0xc], edi
test edx, 0x100000
jne 0x4b4dd4
mov ebx, dword [esp + 0x6c]
lea eax, [esp + 0x64]
lea edx, [esp + 0x70]
jmp 0x4b4e09
lea eax, [esi + ebx]
dec eax
mov dword [esp + 0x40], eax
test edx, 0x100000
jne 0x4b4c2b
xor esi, esi
cmp ebx, 1
mov eax, dword [esp + 0x3c]
movzx eax, al
cmove eax, esi
jmp 0x4b4c3a
sub edi, ebx
xor esi, esi
test edi, edi
cmovg esi, edi
add ecx, esi
mov eax, dword [esp + 0x3c]
test edx, 0x10000
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x20], al
mov dword [esp + 0x24], esi
mov edx, eax
sete al
shl al, 5
or al, 0x45
mov byte [esp + 0x28], al
mov edi, dword [esp + 0x40]
mov dword [esp + 0x2c], edi
mov ebx, dword [esp + 0x6c]
mov esi, dword [ebx]
test esi, esi
jle 0x4b4db7
mov eax, 1
mov ebp, edx
mov edx, dword [esp + 0x10]
sub eax, edx
test edx, edx
cmovle edi, eax
xor eax, eax
cmp edi, 0x3e8
setge al
add eax, 3
cmp edi, 0x64
mov edx, 2
cmovge edx, eax
add ecx, edx
mov eax, ebp
cmp al, 1
sbb ecx, 0
add ecx, 3
xor eax, eax
sub esi, ecx
cmovb esi, eax
movzx eax, byte [ebx + 9]
and eax, 0xf
movzx ecx, byte [eax + 0x591875]
lea eax, [esp + 0x64]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov edi, esi
shr edi, cl
add ebx, 0xa
mov eax, dword [esp + 8]
push ebx
push edi
push eax
call fcn.004b3100
add esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
lea ecx, [esp + 0x14]
push eax
call fcn.004b4f90
jmp 0x4b4f36
test eax, eax
jle 0x4b4e99
shl edx, 0xb
sar edx, 0x1f
sub edi, ebx
and edi, edx
mov dword [esp + 0xc], edi
lea eax, [esp + 0x64]
mov eax, dword [eax]
lea edx, [esp + 0x30]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x38]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x34]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x48]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x78]
mov dword [esp + 0x24], edx
lea edx, [esp + 0xc]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x6c]
mov esi, dword [ebx]
test esi, esi
js 0x4b4f51
xor edx, edx
test edi, edi
cmovle edi, edx
add ecx, edi
inc ecx
sub esi, ecx
cmovb esi, edx
movzx ecx, byte [ebx + 9]
and ecx, 0xf
movzx ecx, byte [ecx + 0x591875]
mov edi, esi
shr edi, cl
add ebx, 0xa
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
push ebx
push edi
push eax
call fcn.004b3100
add esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
lea ecx, [esp + 0x14]
push eax
call fcn.004b5260
jmp 0x4b4f36
lea eax, [esp + 0x64]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0x14]
push eax
call fcn.004b4f90
jmp 0x4b4f49
test edi, edi
mov ebx, dword [esp + 0x6c]
jg 0x4b4dfb
movzx eax, dl
cmp eax, 2
je 0x4b4dfb
mov dword [esp + 0xc], 1
mov edi, 1
lea eax, [esp + 0x64]
lea edx, [esp + 0x70]
jmp 0x4b4e07
test edi, edi
lea eax, [esp + 0x64]
lea edx, [esp + 0x70]
jle 0x4b4e09
add esi, edi
mov eax, dword [eax]
lea ecx, [esp + 0x30]
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x78]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0xc]
mov dword [esp + 0x2c], ecx
mov edi, dword [ebx]
test edi, edi
js 0x4b4f51
xor ecx, ecx
sub edi, esi
cmovb edi, ecx
movzx ecx, byte [ebx + 9]
and ecx, 0xf
movzx ecx, byte [ecx + 0x591875]
mov esi, edi
shr esi, cl
add ebx, 0xa
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
push ebx
push esi
push eax
call fcn.004b3100
add esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
lea ecx, [esp + 0x14]
push eax
call fcn.004b5110
mov dword [esp], eax
sub edi, esi
mov eax, dword [esp]
push ebx
push edi
jmp 0x4b4f40
neg eax
cmp edi, eax
mov edx, eax
cmovl edx, edi
test edi, edi
cmovs edx, eax
test ebx, ebx
cmovne edx, eax
mov dword [esp + 0xc], edx
lea eax, [esp + 0x64]
mov eax, dword [eax]
lea esi, [esp + 0x30]
mov dword [esp + 0x14], esi
lea esi, [esp + 0xc]
mov dword [esp + 0x18], esi
lea esi, [esp + 0x34]
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x70]
mov dword [esp + 0x20], esi
lea esi, [esp + 0x78]
mov dword [esp + 0x24], esi
lea esi, [esp + 0x38]
mov dword [esp + 0x28], esi
mov ebx, dword [esp + 0x6c]
mov esi, dword [ebx]
test esi, esi
js 0x4b4f51
add ecx, edx
add ecx, 2
xor edx, edx
sub esi, ecx
cmovb esi, edx
movzx ecx, byte [ebx + 9]
and ecx, 0xf
movzx ecx, byte [ecx + 0x591875]
mov edi, esi
shr edi, cl
add ebx, 0xa
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
push ebx
push edi
push eax
call fcn.004b3100
add esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
lea ecx, [esp + 0x14]
push eax
call fcn.004b53c0
mov dword [esp], eax
sub esi, edi
mov eax, dword [esp]
push ebx
push esi
push eax
call fcn.004b3100
add esp, 0xc
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 0x10], str.negative_value
mov dword [esp + 0xc], 0x146
mov dword [esp + 8], str.external_fmtlib_include_fmt_core.h
call fcn.004a8080
add esp, 0x14
call fcn.0049aa70
int3