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

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebx + 8]
test ecx, ecx
push ebp
push esi
push edi
jne 0x4b7303
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
push 0x63
push esi
push eax
mov eax, dword [esp + 0x40]
push ebx
push edx
push eax
call fcn.00515c10
mov edi, eax
mov ebp, 1
add esp, 0x18
cmp edi, ebp
jne 0x4b72a3
mov eax, dword [ebx + 8]
cmp eax, 3
jl 0x4b728f
cmp eax, 5
jle 0x4b72a3
push 6
push esi
push ebx
call fcn.0048abf0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [ebx + 8]
cmp eax, 5
jne 0x4b72bc
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0x40]
jmp 0x4b72e8
cmp eax, 4
jne 0x4b72f9
mov edx, dword [ebx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005157e0
add esp, 4
test eax, eax
jne 0x4b72f9
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
mov cl, byte [ecx]
cmp cl, 0x24
je 0x4b72f9
cmp cl, 0x25
je 0x4b72f9
mov dword [eax + 0x1c], ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edx, dword [ebx + 0x40]
test edx, edx
je 0x4b7905
mov eax, dword [edx + 0x40]
test eax, eax
je 0x4b7905
cmp ecx, 3
jl 0x4b7329
mov esi, dword [eax + 0x40]
test esi, esi
je 0x4b7905
cmp ecx, 4
jl 0x4b733c
mov esi, dword [eax + 0x40]
mov edi, dword [esi + 0x40]
test edi, edi
je 0x4b7905
cmp ecx, 5
jl 0x4b7352
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov edi, dword [esi + 0x40]
test edi, edi
je 0x4b7905
mov esi, dword [edx + 0x1c]
mov ebp, 1
cmp esi, ebp
jne 0x4b7393
cmp dword [eax + 0x1c], ebp
jne 0x4b7393
cmp ecx, 3
jl 0x4b7370
mov esi, dword [eax + 0x40]
cmp dword [esi + 0x1c], ebp
jne 0x4b7393
cmp ecx, 4
jl 0x4b7380
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
cmp dword [esi + 0x1c], ebp
jne 0x4b7393
cmp ecx, 5
jl 0x4b739d
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov esi, dword [esi + 0x40]
cmp dword [esi + 0x1c], ebp
je 0x4b739d
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x20
ret
mov esi, dword [edx + 0xc]
test esi, esi
jne 0x4b78d0
mov esi, dword [eax + 0xc]
test esi, esi
jne 0x4b78d0
cmp ecx, 3
jl 0x4b73c6
mov esi, dword [eax + 0x40]
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x4b78d0
cmp ecx, 4
jl 0x4b73dc
mov esi, dword [eax + 0x40]
mov esi, dword [esi + 0x40]
mov edi, dword [esi + 0xc]
test edi, edi
jne 0x4b78d0
cmp ecx, 5
jl 0x4b73f5
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0x40]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0xc]
test eax, eax
jne 0x4b78d0
mov edx, dword [edx]
push edx
call fcn.00551fa0
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x40]
mov edi, dword [esp + 0x48]
mov ecx, dword [eax]
push edi
push ecx
call fcn.00422100
add esp, 0xc
test eax, eax
jne 0x4b7430
mov edx, dword [esp + 0x48]
push 6
push edx
push esi
call fcn.0048abf0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
push edi
call fcn.00426aa0
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x4c]
add esp, 4
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4b7445
mov edx, dword [esi + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
call fcn.005cbe51
xor ebx, ebx
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
jg 0x4b7471
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 8]
cmp eax, 5
mov edi, dword [esp + 0x88]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0x3e7
mov dword [esp + 0x14], ebx
jne 0x4b754e
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.005157e0
add esp, 4
test eax, eax
je 0x4b74ed
mov edx, dword [esi + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005cbe51
mov ecx, dword [esi + 0x40]
mov edx, dword [ecx + 0x40]
add esp, 4
mov dword [esp + 0x20], eax
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
cmp byte [eax], 0x40
je 0x4b75a3
mov dword [esp + 0x24], eax
jmp 0x4b75cb
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov eax, dword [eax]
cmp byte [eax], 0x40
jne 0x4b752a
push edi
push eax
call fcn.00503170
add esp, 8
cmp eax, ebx
je 0x4b78d0
mov eax, dword [eax + 0x88c]
test eax, eax
je 0x4b78d0
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
jmp 0x4b752e
mov dword [esp + 0x24], eax
mov ecx, dword [esi + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
push eax
call fcn.005cbe51
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x4b75cb
cmp eax, 4
jne 0x4b7593
mov ecx, dword [esi + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx]
push edx
call fcn.005157e0
add esp, 4
test eax, eax
je 0x4b758b
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax]
push ecx
call fcn.005cbe51
add esp, 4
mov dword [esp + 0x20], eax
jmp 0x4b75cb
mov edx, dword [esi + 0x40]
jmp 0x4b74d0
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x40]
mov edx, dword [ecx + 0x40]
mov eax, dword [edx]
cmp byte [eax], 0x40
jne 0x4b75cb
push edi
push eax
call fcn.00503170
add esp, 8
cmp eax, ebx
je 0x4b78d0
mov eax, dword [eax + 0x88c]
test eax, eax
je 0x4b78d0
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp + 0x2c], 0
je 0x4b7601
mov eax, dword [esi]
push 0x2e
push eax
call fcn.005ccc30
add esp, 8
test eax, eax
je 0x4b7601
push str..shortfn
push eax
call fcn.005e31f5
add esp, 8
test eax, eax
jne 0x4b7601
mov dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x44]
cmp byte [ecx], 0
je 0x4b78d0
mov edx, dword [esp + 0x48]
cmp byte [edx], 0
je 0x4b78d0
mov eax, dword [esp + 0x84]
xor edi, edi
cmp eax, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x1c], edi
je 0x4b7646
cmp dword [esp + 0x4c], edi
jne 0x4b7641
movzx ecx, word [eax + 2]
shl ecx, 0x10
mov dword [eax], ecx
jmp 0x4b7646
movzx edx, word [eax]
mov dword [eax], edx
mov esi, dword [esp + 0x48]
push 0x3b
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x4b7688
push edi
push 0x5e6c98
push edi
call fcn.004e2f90
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x10], eax
jne 0x4b7688
mov eax, dword [esp + 0x3c]
push 8
push esi
push eax
call fcn.0048abf0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x40]
jmp 0x4b76a0
mov ecx, dword [esp + 0x48]
push 0x3b
push ecx
call fcn.005cbf10
add esp, 8
test eax, eax
mov dword [esp + 0x28], eax
je 0x4b76bc
mov edx, eax
mov byte [edx], 0
mov eax, dword [esp + 0x48]
push 0x20
push eax
call fcn.00552010
mov ecx, dword [esp + 0x50]
mov al, byte [ecx]
add esp, 8
test al, al
je 0x4b77eb
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x38]
push edi
push ebp
push ebx
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
push eax
mov eax, dword [esp + 0x88]
inc ecx
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x98]
push edx
push esi
push eax
push ecx
call fcn.0048f5e0
add esp, 0x64
cmp eax, 0xffffffff
je 0x4b7842
cmp eax, 0xfffffffe
je 0x4b787f
cmp eax, 0xfffffffd
je 0x4b78a5
cmp eax, 0xfffffffc
je 0x4b78bc
test eax, eax
jl 0x4b77eb
add dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
test ecx, ecx
jg 0x4b77c3
mov edx, dword [esp + 0x1c]
push edx
push 0x5e6a4c
push esi
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4b77eb
cmp ecx, eax
jle 0x4b77d5
sub ecx, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], 0
cmp byte [esi], 0
je 0x4b77eb
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4b77eb
push esi
call fcn.0053b420
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x4b77fd
cmp eax, dword [esp + 0x1c]
jle 0x4b78c3
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4b78c3
mov cl, byte [eax + 1]
inc eax
test cl, cl
mov dword [esp + 0x28], eax
je 0x4b78c3
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b7820
mov ecx, dword [esp + 0x48]
sub eax, edx
inc eax
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
call fcn.005cceb0
add esp, 0xc
jmp 0x4b76a0
lea edx, [esp + 0x10]
push edx
call fcn.004e33a0
push 0
call fcn.00421c80
push 0x615410
push 0xaf3
call fcn.00421db0
push 6
push 0
push 0x615410
push 0
call fcn.0048a440
add esp, 0x20
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
lea eax, [esp + 0x10]
push eax
call fcn.004e33a0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
push 8
push ecx
push edx
call fcn.0048abf0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
lea eax, [esp + 0x10]
push eax
call fcn.004e33a0
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret
lea ecx, [esp + 0x10]
push ecx
jmp 0x4b78c8
lea edx, [esp + 0x10]
push edx
call fcn.004e33a0
add esp, 4
mov edi, dword [esp + 0x3c]
mov eax, dword [edi + 8]
test eax, eax
jle 0x4b78fe
mov esi, dword [esp + 0x38]
nop
mov eax, dword [edi + 0x40]
mov ecx, dword [esi]
push eax
push ecx
call fcn.004e3140
mov dword [esi], eax
mov ecx, dword [edi + 8]
add esp, 8
dec ecx
mov eax, ecx
test eax, eax
mov dword [edi + 8], ecx
jg 0x4b78e0
mov dword [edi + 8], 0
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x20
ret