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

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0x1c]
sub esp, 0x18
test ecx, ecx
je 0x4a80337e
cmp dword [ecx], 0
jg 0x4a80337e
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
je 0x4a803375
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4a803375
mov eax, dword [ebp + 0x10]
cmp eax, 0xffffffff
jl 0x4a803375
mov ebx, dword [ebp + 0x14]
cmp bl, 0x3d
jbe 0x4a802ef0
cmp bl, 0xfe
jb 0x4a803375
cmp eax, 0xffffffff
jne 0x4a802f01
push edi
call sym.icuuc51.dll_k_strlen_51
mov ecx, dword [ebp + 0x1c]
add esp, 4
cmp dword [esi + 0x48], 3
jne 0x4a802f1b
push ecx
push ebx
push eax
push edi
push esi
call fcn.4a802250
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esi], 0
mov dword [esi + 8], edi
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
mov byte [esi + 0x51], bl
mov dword [esi + 0x68], 0
mov dword [esi + 0x78], 1
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x9c], 0
mov dword [esi + 0xa0], 0
cmp bl, 0xfe
jb 0x4a802f74
mov byte [esi + 0x52], bl
jmp 0x4a802f78
mov byte [esi + 0x52], 0
test eax, eax
jne 0x4a802fc5
cmp bl, 0xfe
jb 0x4a802f8c
mov al, bl
and al, 1
mov byte [esi + 0x51], al
mov byte [esi + 0x52], 0
test bl, 1
je 0x4a802fa1
mov dword [esi + 0x6c], 2
mov dword [esi + 0x68], 1
jmp 0x4a802faf
mov dword [esi + 0x6c], 1
mov dword [esi + 0x68], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x78], 0
jmp 0x4a80335e
push eax
movzx eax, byte [esi + 0x38]
push eax
lea eax, [esi + 0x18]
push eax
lea edi, [esi + 0x28]
push edi
mov dword [esi + 0x84], 0xffffffff
call fcn.4a8028f0
add esp, 0x10
test al, al
je 0x4a803022
mov eax, dword [edi]
push esi
mov dword [esi + 0x3c], eax
call fcn.4a8014a0
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x78]
add esp, 4
mov dword [ebp - 8], ecx
mov dword [esi + 0x74], ecx
cmp edi, 1
jle 0x4a80305f
mov eax, dword [esi + 0x30]
shl edi, 2
test eax, eax
jne 0x4a803032
push edi
call sym.icuuc51.dll_kprv_malloc_51
add esp, 4
mov dword [esi + 0x30], eax
test eax, eax
jne 0x4a803048
mov ecx, dword [ebp + 0x1c]
pop edi
pop esi
mov dword [ecx], 7
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, dword [esi + 0x20]
jle 0x4a80304b
push edi
push eax
call sym.icuuc51.dll_kprv_realloc_51
add esp, 8
test eax, eax
je 0x4a803022
mov dword [esi + 0x30], eax
mov dword [esi + 0x20], edi
mov ecx, dword [esi + 0x30]
mov eax, dword [esi + 0x78]
mov ebx, dword [ebp - 8]
mov dword [esi + 0x7c], ecx
mov dword [ecx + eax*4 - 4], ebx
mov ecx, ebx
jmp 0x4a80306a
lea eax, [esi + 0x80]
mov dword [esi + 0x7c], eax
mov dword [eax], ecx
mov ebx, dword [ebp + 0x18]
test ebx, ebx
jne 0x4a80309b
movzx eax, byte [esi + 0x38]
push ecx
push eax
lea eax, [esi + 0x1c]
push eax
lea edi, [esi + 0x2c]
push edi
call fcn.4a8028f0
add esp, 0x10
test al, al
je 0x4a803022
mov eax, dword [edi]
push esi
mov dword [esi + 0x40], eax
call fcn.4a801c60
add esp, 4
jmp 0x4a8030b4
mov edi, dword [ebp + 0x1c]
push edi
push esi
mov dword [esi + 0x40], ebx
call fcn.4a8011c0
add esp, 8
cmp dword [edi], 0
jg 0x4a80337b
mov dword [esi + 0x68], eax
sub eax, 0
je 0x4a803281
dec eax
je 0x4a80327b
mov eax, dword [esi + 0x48]
cmp eax, 6
ja case.0x4a8030cf.3
jmp dword [eax*4 + 0x4a803384]
mov dword [esi + 0x64], 0x4a89c34c
jmp case.0x4a8030cf.3
mov dword [esi + 0x64], 0x4a89c384
jmp case.0x4a8030cf.3
mov dword [esi + 0x64], 0x4a89c3ec
jmp case.0x4a8030cf.3
mov dword [esi + 0x64], 0x4a89c45c
jmp case.0x4a8030cf.3
mov eax, 0x4a89c530
mov ecx, 0x4a89c4a8
jmp 0x4a803110
mov eax, 0x4a89c578
mov ecx, 0x4a89c540
test byte [esi + 0x4c], 1
cmove eax, ecx
mov dword [esi + 0x64], eax
test ebx, ebx
jne 0x4a80317a
cmp dword [esi + 0x78], 1
jg 0x4a80317a
test dword [esi + 0x6c], 0x80000000
jne 0x4a80317a
mov cl, byte [esi + 0x52]
mov ebx, dword [ebp - 8]
test cl, cl
je 0x4a803144
mov eax, dword [esi + 0x3c]
movzx edx, byte [eax + ebx - 1]
shr edx, 7
jmp 0x4a803148
movzx edx, byte [esi + 0x51]
test cl, cl
je 0x4a803157
mov eax, dword [esi + 0x3c]
movzx ecx, byte [eax]
shr ecx, 7
jmp 0x4a80315b
movzx ecx, byte [esi + 0x51]
and dl, 1
movzx eax, dl
push eax
and cl, 1
movzx eax, cl
push eax
push ebx
push 0
push esi
call fcn.4a801fd0
add esp, 0x14
jmp 0x4a80325a
mov ecx, dword [esi + 0x40]
xor edi, edi
cmp byte [esi + 0x52], 0
mov dword [ebp - 0x14], ecx
je 0x4a803192
mov eax, dword [esi + 0x3c]
mov bl, byte [eax]
shr bl, 7
jmp 0x4a803195
mov bl, byte [esi + 0x51]
mov bh, byte [ecx]
cmp bl, bh
jae 0x4a80319d
mov bl, bh
and bl, 1
mov edx, edi
mov byte [ebp - 1], bh
test edi, edi
jle 0x4a8031dc
mov eax, dword [esi + 0x3c]
add eax, edi
mov dword [ebp - 0x18], eax
movzx eax, byte [eax - 1]
and al, 0x7f
cmp al, 7
jne 0x4a8031dc
cmp byte [esi + 0x52], 0
je 0x4a8031d1
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax]
shr eax, 7
and al, 1
mov byte [ebp - 0x10], al
jmp 0x4a8031df
movzx eax, byte [esi + 0x51]
and al, 1
mov byte [ebp - 0x10], al
jmp 0x4a8031df
mov byte [ebp - 0x10], bl
mov eax, dword [ebp - 8]
inc edi
cmp edi, eax
jge 0x4a8031f1
cmp byte [edi + ecx], bh
je 0x4a8031e2
mov bh, byte [edi + ecx]
jmp 0x4a803209
cmp byte [esi + 0x52], 0
je 0x4a803206
mov eax, dword [esi + 0x3c]
mov ebx, dword [ebp - 8]
mov bh, byte [eax + ebx - 1]
shr bh, 7
jmp 0x4a803209
mov bh, byte [esi + 0x51]
mov bl, byte [ebp - 1]
movzx ecx, bh
movzx eax, bl
and ecx, 0xffffff7f
and eax, 0xffffff7f
cmp eax, ecx
jge 0x4a803223
mov bl, bh
and bl, 1
test byte [ebp - 1], 0x80
mov byte [ebp - 0xc], bl
jne 0x4a803245
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push edi
push edx
push esi
call fcn.4a801fd0
mov ecx, dword [ebp - 0x14]
add esp, 0x14
jmp 0x4a803251
mov ecx, dword [ebp - 0x14]
and byte [edx + ecx], 0x7f
inc edx
cmp edx, edi
jl 0x4a803248
cmp edi, dword [ebp - 8]
jl 0x4a8031a0
mov eax, dword [esi + 0xa4]
test eax, eax
jle 0x4a803270
mov ecx, dword [ebp + 0x1c]
pop edi
pop esi
mov dword [ecx], eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.4a8010b0
add esp, 4
jmp 0x4a803292
or byte [esi + 0x51], 1
jmp 0x4a80328b
mov al, byte [esi + 0x51]
inc al
and al, 0xfe
mov byte [esi + 0x51], al
mov dword [esi + 0x74], 0
cmp byte [esi + 0x52], 0
jbe 0x4a803344
test byte [esi + 0x4c], 1
je 0x4a803344
mov eax, dword [esi + 0x48]
cmp eax, 5
je 0x4a8032b7
cmp eax, 6
jne 0x4a803344
xor edx, edx
mov dword [ebp + 0x1c], edx
cmp dword [esi + 0x78], edx
jle 0x4a803344
mov eax, dword [esi + 0x7c]
mov ebx, dword [esi + 0x3c]
lea eax, [eax + edx*4]
mov edx, dword [eax]
dec edx
mov ch, byte [ebx + edx]
test ch, ch
jns 0x4a803338
cmp dword [ebp + 0x1c], 0
jne 0x4a8032e2
xor eax, eax
jmp 0x4a8032e5
mov eax, dword [eax - 4]
mov dword [ebp - 0x14], eax
mov edi, edx
cmp edx, eax
jl 0x4a803338
mov edi, edi
mov cl, byte [ebx + edi]
and cl, 0x7f
je 0x4a80330e
mov eax, 1
shl eax, cl
test eax, 0x2002
jne 0x4a803338
dec edi
cmp edi, dword [ebp - 0x14]
jge 0x4a8032f0
jmp 0x4a803338
cmp edi, edx
jge 0x4a80332c
movzx eax, ch
and al, 0x7f
cmp al, 7
jne 0x4a80332c
jmp 0x4a803320
movzx eax, byte [ebx + edx - 1]
dec edx
and al, 0x7f
cmp al, 7
je 0x4a803320
push 4
push edx
push esi
call fcn.4a801000
add esp, 0xc
mov edx, dword [ebp + 0x1c]
inc edx
mov dword [ebp + 0x1c], edx
cmp edx, dword [esi + 0x78]
jl 0x4a8032c5
test byte [esi + 0x4c], 2
je 0x4a803355
mov eax, dword [esi + 0xac]
sub dword [esi + 0x14], eax
jmp 0x4a80335e
mov eax, dword [esi + 0x9c]
add dword [esi + 0x14], eax
pop edi
mov dword [esi + 0x58], 0
mov dword [esi + 0x60], 0
mov dword [esi], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ecx], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret