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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x1c]
sub esp, 0x14
test eax, eax
je 0x4a8029a7
cmp dword [eax], 0
jg 0x4a8029a7
push ebx
push esi
mov esi, dword [ebp + 8]
test esi, esi
push edi
je 0x4a80299e
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4a80299e
mov ebx, dword [ebp + 0x14]
cmp bl, 0x3d
jbe 0x4a802610
cmp bl, 0xfe
jb 0x4a80299e
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xffffffff
jl 0x4a80299e
jne 0x4a80262a
push edi
call sym.icucnv36.dll_u_strlen_3_6
pop ecx
mov ecx, eax
mov eax, dword [ebp + 0x1c]
cmp dword [esi + 0x48], 3
jne 0x4a802640
push ebx
push edi
mov ebx, esi
call fcn.4a801bbd
pop ecx
pop ecx
jmp 0x4a8029a4
xor eax, eax
mov dword [esi + 8], edi
xor edi, edi
inc edi
cmp bl, 0xfe
mov dword [esi], eax
mov dword [esi + 0x14], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ecx
mov byte [esi + 0x51], bl
mov dword [esi + 0x58], eax
mov dword [esi + 0x68], edi
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov dword [esi + 0x78], eax
mov dword [esi + 0x8c], eax
mov dword [esi + 0x90], eax
jb 0x4a80267b
mov byte [esi + 0x52], bl
jmp 0x4a80267f
mov byte [esi + 0x52], 0
cmp ecx, eax
jne 0x4a8026b3
cmp bl, 0xfe
jb 0x4a802694
mov cl, bl
and cl, 1
mov byte [esi + 0x51], cl
mov byte [esi + 0x52], 0
test bl, 1
je 0x4a8026a5
mov dword [esi + 0x5c], 2
mov dword [esi + 0x58], edi
jmp 0x4a8026ab
mov dword [esi + 0x5c], edi
mov dword [esi + 0x58], eax
mov dword [esi + 0x74], eax
jmp 0x4a80298f
movzx eax, byte [esi + 0x38]
or dword [esi + 0x74], 0xffffffff
push ecx
push eax
lea eax, [esi + 0x18]
push eax
lea ebx, [esi + 0x28]
push ebx
call section..text
add esp, 0x10
test al, al
je 0x4a802993
mov eax, dword [ebx]
mov dword [esi + 0x3c], eax
call fcn.4a8022d6
mov eax, dword [esi + 0x10]
mov dword [ebp + 0x10], eax
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x68]
cmp eax, edi
jle 0x4a80271d
shl eax, 2
push eax
push edi
lea eax, [esi + 0x20]
push eax
lea ebx, [esi + 0x30]
push ebx
call section..text
add esp, 0x10
test al, al
je 0x4a802993
mov eax, dword [ebx]
mov ecx, dword [esi + 0x68]
mov edx, dword [ebp + 0x10]
mov dword [esi + 0x6c], eax
mov dword [eax + ecx*4 - 4], edx
jmp 0x4a802728
mov ecx, dword [ebp + 0x10]
lea eax, [esi + 0x70]
mov dword [esi + 0x6c], eax
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
xor ebx, ebx
cmp eax, ebx
jne 0x4a80275f
movzx eax, byte [esi + 0x38]
push dword [ebp + 0x10]
lea edi, [esi + 0x2c]
push eax
lea eax, [esi + 0x1c]
push eax
push edi
call section..text
add esp, 0x10
test al, al
je 0x4a802993
mov eax, dword [edi]
mov edx, esi
mov dword [esi + 0x40], eax
call fcn.4a801167
jmp 0x4a802776
mov edi, dword [ebp + 0x1c]
mov dword [esi + 0x40], eax
push edi
mov eax, esi
call fcn.4a8013e1
cmp dword [edi], ebx
pop ecx
jg 0x4a8029a4
mov dword [esi + 0x58], eax
sub eax, ebx
je 0x4a802968
dec eax
je 0x4a802962
mov eax, dword [esi + 0x48]
sub eax, ebx
je 0x4a8027f6
dec eax
je 0x4a8027ed
dec eax
je 0x4a8027e4
dec eax
je 0x4a8027da
dec eax
je 0x4a8027d1
dec eax
je 0x4a8027b9
dec eax
jne 0x4a8027f6
test byte [esi + 0x4c], 1
je 0x4a8027b0
mov dword [esi + 0x54], 0x4a849560
jmp 0x4a8027fd
mov dword [esi + 0x54], 0x4a849528
jmp 0x4a8027fd
test byte [esi + 0x4c], 1
je 0x4a8027c8
mov dword [esi + 0x54], 0x4a849518
jmp 0x4a8027fd
mov dword [esi + 0x54], 0x4a849490
jmp 0x4a8027fd
mov dword [esi + 0x54], 0x4a849444
jmp 0x4a8027fd
xor esi, esi
mov dword [8], ebx
jmp 0x4a8027fd
mov dword [esi + 0x54], 0x4a8493d4
jmp 0x4a8027fd
mov dword [esi + 0x54], 0x4a84936c
jmp 0x4a8027fd
mov dword [esi + 0x54], 0x4a849334
cmp dword [ebp + 0x18], ebx
jne 0x4a80285a
test dword [esi + 0x5c], 0x80000000
jne 0x4a80285a
mov cl, byte [esi + 0x52]
test cl, cl
je 0x4a802822
mov eax, dword [esi + 0x3c]
mov edx, dword [ebp + 0x10]
movzx eax, byte [eax + edx - 1]
shr eax, 7
jmp 0x4a802826
movzx eax, byte [esi + 0x51]
test cl, cl
je 0x4a802835
mov ecx, dword [esi + 0x3c]
movzx ecx, byte [ecx]
shr ecx, 7
jmp 0x4a802839
movzx ecx, byte [esi + 0x51]
and eax, 0xffffff01
push eax
and ecx, 0xffffff01
push ecx
push dword [ebp + 0x10]
xor eax, eax
mov ebx, esi
call fcn.4a8018d9
add esp, 0xc
jmp 0x4a80294a
mov ecx, dword [esi + 0x40]
xor edi, edi
cmp byte [esi + 0x52], 0
mov dword [ebp - 0x14], ecx
je 0x4a802872
mov eax, dword [esi + 0x3c]
mov al, byte [eax]
shr al, 7
jmp 0x4a802875
mov al, byte [esi + 0x51]
mov bl, byte [ecx]
cmp al, bl
jae 0x4a802882
mov dl, bl
and dl, 1
jmp 0x4a80288f
and al, 1
mov byte [ebp - 6], al
jmp 0x4a80288c
mov bl, byte [ebp - 1]
mov dl, byte [ebp - 6]
test edi, edi
mov dword [ebp - 0x10], edi
mov byte [ebp - 2], bl
jle 0x4a8028c2
mov eax, dword [esi + 0x3c]
lea ecx, [eax + edi]
mov al, byte [ecx - 1]
and al, 0x7f
cmp al, 7
jne 0x4a8028c2
cmp byte [esi + 0x52], 0
je 0x4a8028b6
movzx ecx, byte [ecx]
shr ecx, 7
jmp 0x4a8028ba
movzx ecx, byte [esi + 0x51]
and cl, 1
mov byte [ebp - 0xa], cl
jmp 0x4a8028c5
mov byte [ebp - 0xa], dl
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x14]
inc edi
cmp edi, ecx
jge 0x4a8028da
cmp byte [edi + eax], bl
je 0x4a8028cb
mov al, byte [edi + eax]
jmp 0x4a8028f2
cmp byte [esi + 0x52], 0
je 0x4a8028ef
mov eax, dword [esi + 0x3c]
mov cl, byte [eax + ecx - 1]
shr cl, 7
mov byte [ebp - 1], cl
jmp 0x4a8028f5
mov al, byte [esi + 0x51]
mov byte [ebp - 1], al
mov cl, byte [ebp - 1]
movzx ebx, byte [ebp - 2]
movzx edx, cl
mov eax, 0xffffff7f
and edx, eax
and ebx, eax
cmp ebx, edx
jl 0x4a80290f
mov cl, byte [ebp - 2]
and cl, 1
test byte [ebp - 2], 0x80
mov byte [ebp - 6], cl
jne 0x4a802931
push dword [ebp - 6]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0xa]
mov ebx, esi
push edi
call fcn.4a8018d9
add esp, 0xc
jmp 0x4a802941
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add eax, ecx
and byte [eax], 0x7f
inc ecx
cmp ecx, edi
jl 0x4a802934
cmp edi, dword [ebp + 0x10]
jl 0x4a802889
mov eax, dword [esi + 0x94]
test eax, eax
jle 0x4a80295b
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
jmp 0x4a8029a4
call fcn.4a801abc
jmp 0x4a802975
or byte [esi + 0x51], 1
jmp 0x4a802972
mov al, byte [esi + 0x51]
inc al
and al, 0xfe
mov byte [esi + 0x51], al
mov dword [esi + 0x64], ebx
test byte [esi + 0x4c], 2
je 0x4a802986
mov eax, dword [esi + 0x9c]
sub dword [esi + 0x14], eax
jmp 0x4a80298f
mov eax, dword [esi + 0x8c]
add dword [esi + 0x14], eax
mov dword [esi], esi
jmp 0x4a8029a4
mov eax, dword [ebp + 0x1c]
mov dword [eax], 7
jmp 0x4a8029a4
mov dword [eax], 1
pop edi
pop esi
pop ebx
leave
ret