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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f4bb0
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x52a6ec]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push esi
push edi
mov eax, dword [0x52a6ec]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor edi, edi
mov ebx, ecx
mov dword [esp + 0x1c], edi
test byte [ebx + 0x84], 1
mov dword [esp + 0x18], ebx
je 0x49843e
mov ecx, dword [ebx + 8]
push 1
mov edx, esi
call fcn.004840f0
add esp, 4
mov eax, dword [ebx + 0x84]
shr eax, 1
test al, 1
je 0x498459
mov ecx, dword [ebx + 0xc]
push 2
mov edx, esi
call fcn.004840f0
add esp, 4
cmp dword [ebx + 0x14], edi
jle 0x498478
mov edi, edi
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + edi*4]
push 3
mov edx, esi
call fcn.004840f0
inc edi
add esp, 4
cmp edi, dword [ebx + 0x14]
jl 0x498460
cmp dword [ebx + 0x3c], 0
mov dword [esp + 0x14], 0
jle 0x49860c
lea ebx, [ebx]
cmp dword [esi + 8], 5
mov edx, dword [ebx + 0x38]
mov eax, dword [esp + 0x14]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x1c], edi
jl 0x4984b7
mov eax, dword [esi + 4]
lea ecx, [eax + 1]
sub ecx, eax
mov byte [eax], 0x22
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4984cb
lea ecx, [esp + 0x28]
push ecx
mov eax, 1
mov byte [esp + 0x2c], 0x22
call fcn.0048aea0
mov edx, dword [edi]
mov eax, dword [edx + 0x2c]
mov ecx, edi
call eax
cmp dword [esi + 8], 5
mov ebx, eax
jl 0x498592
mov eax, dword [esi + 4]
mov cl, bl
or cl, 0x80
mov byte [eax], cl
cmp ebx, 0x80
jb 0x498580
mov ecx, ebx
shr ecx, 7
or cl, 0x80
mov byte [eax + 1], cl
cmp ebx, 0x4000
jb 0x49856d
mov ecx, ebx
shr ecx, 0xe
or cl, 0x80
mov byte [eax + 2], cl
cmp ebx, 0x200000
jb 0x49855a
mov ecx, ebx
shr ecx, 0x15
or cl, 0x80
mov byte [eax + 3], cl
cmp ebx, 0x10000000
jb 0x498547
mov edx, ebx
shr edx, 0x1c
lea ecx, [eax + 5]
sub ecx, eax
mov byte [eax + 4], dl
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4985c9
and cl, 0x7f
mov byte [eax + 3], cl
lea ecx, [eax + 4]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4985c9
and cl, 0x7f
mov byte [eax + 2], cl
lea ecx, [eax + 3]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4985c9
and cl, 0x7f
mov byte [eax + 1], cl
lea ecx, [eax + 2]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4985c9
and cl, 0x7f
mov byte [eax], cl
lea ecx, [eax + 1]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4985c9
xor edi, edi
cmp ebx, 0x7f
jbe 0x4985b2
lea esp, [esp]
mov cl, al
or cl, 0x80
mov byte [esp + edi + 0x20], cl
shr eax, 7
inc edi
cmp eax, 0x7f
ja 0x4985a0
and al, 0x7f
lea edx, [esp + 0x20]
mov byte [esp + edi + 0x20], al
lea eax, [edi + 1]
push edx
call fcn.0048aea0
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
cmp eax, ebx
jl 0x4985ea
mov ecx, dword [esi + 4]
sub eax, ebx
lea edx, [ecx + ebx]
mov dword [esi + 4], edx
mov dword [esi + 8], eax
test ecx, ecx
je 0x4985ea
mov eax, dword [edi]
mov edx, dword [eax + 0x28]
push ecx
jmp 0x4985f0
mov eax, dword [edi]
mov edx, dword [eax + 0x24]
push esi
mov ecx, edi
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
mov ebx, ecx
cmp eax, dword [ecx + 0x3c]
jl 0x498490
cmp dword [ebx + 0x4c], 0
mov dword [esp + 0x14], 0
jle 0x49879c
mov edi, edi
cmp dword [esi + 8], 5
mov edx, dword [ebx + 0x48]
mov eax, dword [esp + 0x14]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x1c], edi
jl 0x498647
mov eax, dword [esi + 4]
lea ecx, [eax + 1]
sub ecx, eax
mov byte [eax], 0x2a
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x49865b
lea ecx, [esp + 0x28]
push ecx
mov eax, 1
mov byte [esp + 0x2c], 0x2a
call fcn.0048aea0
mov edx, dword [edi]
mov eax, dword [edx + 0x2c]
mov ecx, edi
call eax
cmp dword [esi + 8], 5
mov ebx, eax
jl 0x498722
mov eax, dword [esi + 4]
mov cl, bl
or cl, 0x80
mov byte [eax], cl
cmp ebx, 0x80
jb 0x498710
mov ecx, ebx
shr ecx, 7
or cl, 0x80
mov byte [eax + 1], cl
cmp ebx, 0x4000
jb 0x4986fd
mov ecx, ebx
shr ecx, 0xe
or cl, 0x80
mov byte [eax + 2], cl
cmp ebx, 0x200000
jb 0x4986ea
mov ecx, ebx
shr ecx, 0x15
or cl, 0x80
mov byte [eax + 3], cl
cmp ebx, 0x10000000
jb 0x4986d7
mov edx, ebx
shr edx, 0x1c
lea ecx, [eax + 5]
sub ecx, eax
mov byte [eax + 4], dl
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x498759
and cl, 0x7f
mov byte [eax + 3], cl
lea ecx, [eax + 4]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x498759
and cl, 0x7f
mov byte [eax + 2], cl
lea ecx, [eax + 3]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x498759
and cl, 0x7f
mov byte [eax + 1], cl
lea ecx, [eax + 2]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x498759
and cl, 0x7f
mov byte [eax], cl
lea ecx, [eax + 1]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x498759
xor edi, edi
cmp ebx, 0x7f
jbe 0x498742
lea esp, [esp]
mov cl, al
or cl, 0x80
mov byte [esp + edi + 0x20], cl
shr eax, 7
inc edi
cmp eax, 0x7f
ja 0x498730
and al, 0x7f
lea edx, [esp + 0x20]
mov byte [esp + edi + 0x20], al
lea eax, [edi + 1]
push edx
call fcn.0048aea0
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
cmp eax, ebx
jl 0x49877a
mov ecx, dword [esi + 4]
sub eax, ebx
lea edx, [ecx + ebx]
mov dword [esi + 4], edx
mov dword [esi + 8], eax
test ecx, ecx
je 0x49877a
mov eax, dword [edi]
mov edx, dword [eax + 0x28]
push ecx
jmp 0x498780
mov eax, dword [edi]
mov edx, dword [eax + 0x24]
push esi
mov ecx, edi
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
mov ebx, ecx
cmp eax, dword [ecx + 0x4c]
jl 0x498620
cmp dword [ebx + 0x5c], 0
mov dword [esp + 0x14], 0
jle 0x49892c
mov edi, edi
cmp dword [esi + 8], 5
mov edx, dword [ebx + 0x58]
mov eax, dword [esp + 0x14]
mov edi, dword [edx + eax*4]
mov dword [esp + 0x1c], edi
jl 0x4987d7
mov eax, dword [esi + 4]
lea ecx, [eax + 1]
sub ecx, eax
mov byte [eax], 0x32
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4987eb
lea ecx, [esp + 0x28]
push ecx
mov eax, 1
mov byte [esp + 0x2c], 0x32
call fcn.0048aea0
mov edx, dword [edi]
mov eax, dword [edx + 0x2c]
mov ecx, edi
call eax
cmp dword [esi + 8], 5
mov ebx, eax
jl 0x4988b2
mov eax, dword [esi + 4]
mov cl, bl
or cl, 0x80
mov byte [eax], cl
cmp ebx, 0x80
jb 0x4988a0
mov ecx, ebx
shr ecx, 7
or cl, 0x80
mov byte [eax + 1], cl
cmp ebx, 0x4000
jb 0x49888d
mov ecx, ebx
shr ecx, 0xe
or cl, 0x80
mov byte [eax + 2], cl
cmp ebx, 0x200000
jb 0x49887a
mov ecx, ebx
shr ecx, 0x15
or cl, 0x80
mov byte [eax + 3], cl
cmp ebx, 0x10000000
jb 0x498867
mov edx, ebx
shr edx, 0x1c
lea ecx, [eax + 5]
sub ecx, eax
mov byte [eax + 4], dl
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4988e9
and cl, 0x7f
mov byte [eax + 3], cl
lea ecx, [eax + 4]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4988e9
and cl, 0x7f
mov byte [eax + 2], cl
lea ecx, [eax + 3]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4988e9
and cl, 0x7f
mov byte [eax + 1], cl
lea ecx, [eax + 2]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4988e9
and cl, 0x7f
mov byte [eax], cl
lea ecx, [eax + 1]
sub ecx, eax
add dword [esi + 4], ecx
sub dword [esi + 8], ecx
jmp 0x4988e9
xor edi, edi
cmp ebx, 0x7f
jbe 0x4988d2
lea esp, [esp]
mov cl, al
or cl, 0x80
mov byte [esp + edi + 0x20], cl
shr eax, 7
inc edi
cmp eax, 0x7f
ja 0x4988c0
and al, 0x7f
lea edx, [esp + 0x20]
mov byte [esp + edi + 0x20], al
lea eax, [edi + 1]
push edx
call fcn.0048aea0
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + 8]
cmp eax, ebx
jl 0x49890a
mov ecx, dword [esi + 4]
sub eax, ebx
lea edx, [ebx + ecx]
mov dword [esi + 4], edx
mov dword [esi + 8], eax
test ecx, ecx
je 0x49890a
mov eax, dword [edi]
mov edx, dword [eax + 0x28]
push ecx
jmp 0x498910
mov eax, dword [edi]
mov edx, dword [eax + 0x24]
push esi
mov ecx, edi
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], eax
mov ebx, ecx
cmp eax, dword [ecx + 0x5c]
jl 0x4987b0
xor edi, edi
cmp dword [ebx + 0x6c], edi
jle 0x49894f
mov edx, dword [ebx + 0x68]
mov ebx, dword [edx + edi*4]
push 7
call fcn.00484390
mov eax, dword [esp + 0x1c]
inc edi
add esp, 4
mov ebx, eax
cmp edi, dword [eax + 0x6c]
jl 0x498933
mov ecx, dword [ebx + 0x84]
shr ecx, 9
test cl, 1
je 0x49897b
mov ebx, dword [ebx + 0x78]
test ebx, ebx
jne 0x49896d
mov edx, dword [0x5301cc]
mov ebx, dword [edx + 0x78]
push 8
call fcn.00484390
mov ebx, dword [esp + 0x1c]
add esp, 4
mov eax, dword [ebx + 0x84]
shr eax, 0xa
test al, 1
je 0x4989a6
mov ebx, dword [ebx + 0x7c]
test ebx, ebx
jne 0x498998
mov ecx, dword [0x5301cc]
mov ebx, dword [ecx + 0x7c]
push 9
call fcn.00484390
mov ebx, dword [esp + 0x1c]
add esp, 4
cmp dword [ebx + 0x24], 0
mov dword [esp + 0x14], 0
jle 0x4989ed
mov edx, dword [ebx + 0x20]
mov eax, dword [esp + 0x14]
mov edi, dword [edx + eax*4]
push 0x50
mov ecx, esi
call fcn.0048b020
mov ecx, esi
test edi, edi
jns 0x4989d9
mov eax, edi
cdq
push edx
push eax
call fcn.0048b210
jmp 0x4989df
push edi
call fcn.0048b020
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x24]
jl 0x4989b4
cmp dword [ebx + 0x30], 0
mov dword [esp + 0x14], 0
jle 0x498a34
mov ecx, dword [ebx + 0x2c]
mov edx, dword [esp + 0x14]
mov edi, dword [ecx + edx*4]
push 0x58
mov ecx, esi
call fcn.0048b020
mov ecx, esi
test edi, edi
jns 0x498a20
mov eax, edi
cdq
push edx
push eax
call fcn.0048b210
jmp 0x498a26
push edi
call fcn.0048b020
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x30]
jl 0x4989fb
mov eax, dword [ebx + 4]
add ebx, 4
test eax, eax
je 0x498a4f
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
je 0x498a4f
push esi
push ebx
call fcn.00484b20
add esp, 8
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.004c9392
mov esp, ebp
pop ebp
ret 4