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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x4c
mov ebx, ecx
mov eax, dword [0x567b10]
xor eax, esp
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x18]
add eax, 0xffffffff
mov ecx, dword [ecx + 0x14]
add ecx, eax
mov edx, ecx
shr edx, 2
mov esi, dword [ebx + 0xc]
mov edi, dword [ebx + 0x10]
add edi, 0xffffffff
and edi, edx
and ecx, 3
mov edx, dword [esi + edi*4]
cmp dword [edx + ecx*4], 2
jne 0x4a057e
mov dword [ebx + 0x18], eax
test eax, eax
jne 0x4a046d
mov dword [ebx + 0x14], 0
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x1c0]
mov esi, dword [eax]
mov dword [esp + 8], esi
mov ebp, dword [eax + 4]
movups xmm0, xmmword [eax + 8]
movups xmmword [esp + 0x10], xmm0
mov esi, dword [eax + 0x54]
mov byte [esp + 0x40], 2
sub esp, 8
mov al, byte [esp + 0x48]
mov byte [esp + 4], al
mov dword [esp], 0xdc
call fcn.0042afa0
mov edi, eax
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov eax, 0xfffc0000
and eax, dword [edi + 0x28]
or eax, 0x20000
mov dword [edi + 0x28], eax
mov byte [edi + 0x2c], 0x5d
lea eax, [edi + 0x84]
xorps xmm0, xmm0
movups xmmword [edi + 0x30], xmm0
movups xmmword [edi + 0x3e], xmm0
movups xmmword [edi + 0x50], xmm0
movups xmmword [edi + 0x60], xmm0
mov dword [edi + 0x74], 0
mov dword [edi + 0x70], 0
mov dword [edi + 0x78], eax
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], 4
lea eax, [edi + 0xb8]
movups xmmword [edi + 0x94], xmm0
mov dword [edi + 0xa8], 0
mov dword [edi + 0xa4], 0
mov dword [edi + 0xac], eax
mov dword [edi + 0xb0], 0
mov dword [edi + 0xb4], 1
mov byte [edi + 0xbc], 0
mov byte [edi + 0xd8], 0
mov dword [ebx], edi
mov dword [edi + 4], ebp
mov eax, dword [esp + 8]
lea eax, [eax + ebp - 1]
mov dword [edi], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x20], eax
movups xmm0, xmmword [esp + 0x10]
movups xmmword [edi + 8], xmm0
mov dword [edi + 0x38], 1
add esi, 1
mov dword [edi + 0x54], esi
jmp 0x4a1161
mov ecx, dword [ebx + 0x1c0]
mov byte [esp + 0x40], 2
sub esp, 8
mov al, byte [esp + 0x48]
mov byte [esp + 4], al
mov dword [esp], 0xdc
call fcn.0042afa0
xorps xmm0, xmm0
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov ecx, 0xfffc0000
and ecx, dword [eax + 0x28]
or ecx, 0x20000
mov dword [eax + 0x28], ecx
mov byte [eax + 0x2c], 0x5d
lea ecx, [eax + 0x84]
movups xmmword [eax + 0x30], xmm0
movups xmmword [eax + 0x3e], xmm0
movups xmmword [eax + 0x50], xmm0
movups xmmword [eax + 0x60], xmm0
mov dword [eax + 0x74], 0
mov dword [eax + 0x70], 0
mov dword [eax + 0x78], ecx
mov dword [eax + 0x7c], 0
mov dword [eax + 0x80], 4
lea ecx, [eax + 0xb8]
movups xmmword [eax + 0x94], xmm0
mov dword [eax + 0xa8], 0
mov dword [eax + 0xa4], 0
mov dword [eax + 0xac], ecx
mov dword [eax + 0xb0], 0
mov dword [eax + 0xb4], 1
mov byte [eax + 0xbc], 0
mov byte [eax + 0xd8], 0
mov dword [ebx], eax
mov ecx, ebx
push eax
call fcn.004a3220
mov eax, dword [ebx]
mov esi, dword [eax]
mov ecx, dword [eax + 0x28]
movzx edx, byte [ebx + 4]
shl edx, 2
and ecx, 0xfffffffb
or ecx, edx
sub esi, dword [ebx + 0x20]
mov dword [esp + 0x30], esi
mov dword [eax + 0x28], ecx
mov byte [ebx + 4], 0
mov ebp, dword [ebx]
mov eax, dword [ebx + 0x20]
mov dword [esp + 8], eax
cmp word [ebp + 0xc], 0
mov edx, ebx
mov dword [esp + 0x10], ebx
jne 0x4a082b
jmp 0x4a06c4
mov eax, dword [esp + 8]
add eax, dword [ebp + 4]
mov dword [esp + 8], eax
mov ecx, edx
push ebp
call fcn.004a3220
mov edx, dword [esp + 0x10]
mov ebp, dword [edx]
cmp word [ebp + 0xc], 0
jne 0x4a082b
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x4a0820
mov ebx, dword [ebp + 0x10]
lea eax, [ebx - 1]
mov dword [esp + 0xc], eax
xor esi, esi
nop dword [eax + eax]
movsx eax, byte [ebx + esi]
lea ecx, [eax - 9]
cmp ecx, 0x17
ja case.default.0x4a06ec
jmp dword [ecx*4 + 0x559d28]
mov ecx, dword [edx + 0x1c]
mov eax, dword [edx + 0x30]
mov ebp, dword [eax + 0x1c4]
test ebp, ebp
je 0x4a07ea
mov eax, ecx
xor edx, edx
div ebp
jmp 0x4a07ec
cmp eax, 0x5c
jne case.0x4a06ec.14
lea eax, [esi + 1]
cmp eax, edi
je case.0x4a06ec.14
mov al, byte [ebx + eax]
cmp al, 0xa
je 0x4a0800
cmp al, 0xd
je 0x4a0800
nop word cs:[eax + eax]
nop dword [eax + eax]
mov byte [ebp + 0x2c], 0x19
jmp 0x4a0800
add dword [edx + 0x1c], 1
jmp 0x4a0800
add dword [ebp + 0x30], 1
xor eax, eax
mov ebp, esi
sub ebp, 1
jb 0x4a07a3
mov dl, byte [ebx + ebp]
xor ecx, ecx
cmp dl, 0xd
sete cl
cmp ebp, ecx
js 0x4a07a3
neg ecx
xor eax, eax
cmp dl, 0xd
sete al
add ecx, esi
mov edx, esi
sub edx, eax
xor eax, eax
mov ebp, dword [esp + 0xc]
nop word cs:[eax + eax]
nop
cmp byte [ebp + edx], 0x5c
jne 0x4a07a3
add eax, 1
add ebp, 0xffffffff
cmp edx, eax
jne 0x4a0790
mov eax, ecx
and eax, 1
mov ebp, dword [esp + 0x10]
mov ecx, dword [ebp]
mov edx, dword [ecx + 0x28]
and edx, 0xfffffffe
or edx, eax
xor edx, 1
mov dword [ecx + 0x28], edx
mov edx, ebp
mov eax, dword [esp + 8]
add eax, esi
add eax, 1
mov ecx, dword [ebp]
mov dword [ecx + 0x34], eax
mov dword [ebp + 0x1c], 0
jmp 0x4a0800
mov eax, dword [esp + 8]
add eax, esi
add eax, 1
mov dword [ebp + 0x34], eax
mov dword [edx + 0x1c], 0
jmp 0x4a0800
xor edx, edx
sub ebp, edx
add ebp, ecx
mov edx, dword [esp + 0x10]
mov dword [edx + 0x1c], ebp
nop word [eax + eax]
mov ebp, dword [edx]
mov al, byte [ebp + 0x2c]
cmp al, 0x19
je 0x4a0823
add esi, 1
cmp esi, edi
jne 0x4a06e0
jmp 0x4a0823
mov al, byte [ebp + 0x2c]
cmp al, 0x19
jne 0x4a06a0
mov eax, dword [edx + 0x30]
mov al, byte [eax + 0x11f]
add al, 0xfd
cmp al, 1
ja 0x4a085a
cmp word [ebp + 0xc], 4
jne 0x4a085a
mov esi, dword [ebp + 0x14]
cmp esi, 2
jb 0x4a085a
mov ecx, dword [ebp + 0x10]
movzx eax, word [ecx]
cmp eax, 0x2f2f
je 0x4a0e92
mov eax, dword [ebp + 0x14]
cmp eax, 2
jb 0x4a08d1
mov esi, dword [esp + 0x10]
jmp 0x4a08ac
mov eax, 2
cmp dl, 0xa
jne 0x4a08cd
add dword [ebp + 0x30], 1
add dword [esp + 8], eax
mov ecx, dword [esi]
mov dword [ecx + 0x34], eax
mov dword [esi + 0x1c], 0
mov ecx, dword [esi]
mov edx, dword [ecx + 0x14]
cmp edx, eax
cmovb eax, edx
sub edx, eax
add dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, esi
mov ebp, dword [esi]
mov eax, dword [ebp + 0x14]
cmp eax, 1
jbe 0x4a08d1
mov ecx, dword [ebp + 0x10]
cmp byte [ecx], 0x5c
jne 0x4a08d1
movzx edx, byte [ecx + 1]
cmp eax, 3
jb 0x4a0870
cmp dl, 0xd
jne 0x4a0870
mov eax, 3
cmp byte [ecx + 2], 0xa
je 0x4a087a
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 8]
add ecx, eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], ecx
mov eax, dword [edx]
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x54], ecx
mov dword [edx + 0x20], 0
mov esi, dword [edx]
movzx eax, word [esi + 0xc]
cmp ax, 0x2e
jg 0x4a0966
cmp ax, 4
je 0x4a0981
cmp ax, 6
jne case.0x4a095f.1
mov ecx, dword [edx + 0x34]
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.004a0250
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov dword [ecx + 8], eax
mov ecx, dword [edx]
movzx eax, word [eax]
and eax, 0x1ff
mov word [ecx + 0xc], ax
mov eax, dword [edx + 0x30]
mov al, byte [eax + 0x11f]
cmp al, 4
je 0x4a0a61
cmp al, 3
jne case.0x4a095f.1
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
add ecx, 0xffffff99
cmp cx, 0x23
ja case.0x4a095f.1
movzx ecx, cx
jmp dword [ecx*4 + 0x559d88]
lea ecx, [edx + 8]
cmp ax, 0x2f
je 0x4a09cd
cmp ax, 0x34
jne case.0x4a095f.1
mov word [esi + 0xc], 0x33
jmp 0x4a09d3
lea ecx, [esi + 0x10]
mov edi, dword [esi + 0x14]
push 0xffffffffffffffff
push 4
push str.__t_v_f
call fcn.004235e0
add eax, 1
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
cmp eax, edx
cmovae eax, edx
mov esi, edi
sub esi, eax
xor eax, eax
cmp edx, esi
cmovae eax, esi
sub edx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
sub edi, dword [eax + 0x14]
mov dword [edx + 0x20], edi
jmp case.0x4a095f.1
mov word [esi + 0xc], 0x2e
mov eax, dword [edx]
mov ebp, edx
xor edx, edx
cmp dword [eax + 0x14], 0
setne dl
mov dword [eax + 0x14], edx
add dword [ebp + 0x1c], 1
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
lea ebx, [eax + edx]
test bl, 3
jne 0x4a0a0d
lea esi, [eax + 4]
shr esi, 2
cmp dword [ebp + 0x10], esi
ja 0x4a0a0d
push 1
call fcn.004a3f30
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
lea esi, [edi*4 - 1]
and esi, edx
mov dword [ebp + 0x14], esi
add esi, eax
mov eax, esi
shr eax, 2
add edi, 0x3fffffff
and edi, eax
mov eax, dword [ecx + edi*4]
test eax, eax
mov edx, ebp
jne 0x4a0a51
push 0x10
call fcn.00533f15
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edx + 0xc]
mov dword [ecx + edi*4], eax
mov eax, dword [edx + 0xc]
mov eax, dword [eax + edi*4]
and esi, 3
mov dword [eax + esi*4], 2
add dword [edx + 0x18], 1
jmp case.0x4a095f.1
mov eax, dword [edx]
movzx ecx, word [eax + 0xc]
cmp cx, 0x67
je case.0x4a095f.0
movzx edx, cx
cmp edx, 0x8a
mov edx, dword [esp + 0x10]
je case.0x4a095f.0
cmp cx, 0x6a
jne case.0x4a095f.1
mov word [eax + 0xc], 5
mov eax, dword [edx]
mov dword [eax + 8], 0
mov esi, dword [edx]
mov ebp, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
test ebx, ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], ebx
je 0x4a0c3c
push ebx
push 0xa
push ebp
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a0b8c
mov edi, eax
sub edi, ebp
cmp edi, 0xffffffff
je 0x4a0b8c
or byte [esi + 0x28], 2
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x1bc]
mov dword [esp + 0xc], eax
cmp ebx, edi
cmovb edi, ebx
test edi, edi
je 0x4a0c9e
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + 0x1c4]
xor esi, esi
mov dword [esp + 0x30], ecx
jmp 0x4a0b26
mov edx, dword [esp + 0x10]
lea eax, [ebx + 1]
cmp edi, ebx
cmovbe eax, edi
add ebp, eax
sub edi, eax
je 0x4a0ca4
push edi
push 9
push ebp
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a0c98
mov ebx, eax
sub ebx, ebp
cmp ebx, 0xffffffff
je 0x4a0c98
mov dword [esp + 8], esi
cmp edi, ebx
mov esi, ebx
cmovb esi, edi
cmp dword [esp + 0xc], 0
je 0x4a0b60
mov eax, esi
jmp 0x4a0b6e
push esi
push ebp
call fcn.0044ce70
add esp, 8
test eax, eax
js 0x4a0b59
mov esi, dword [esp + 8]
add esi, eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4a0b10
mov eax, dword [esp + 0x38]
add eax, esi
xor edx, edx
div ecx
add esi, ecx
sub esi, edx
jmp 0x4a0b10
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x1bc]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 0x1c4]
xor esi, esi
mov dword [esp + 0x30], ecx
jmp 0x4a0bd6
mov edx, dword [esp + 0x10]
lea eax, [edi + 1]
cmp ebx, edi
cmovbe eax, ebx
add ebp, eax
sub ebx, eax
je 0x4a0c62
push ebx
push 9
push ebp
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a0c52
mov edi, eax
sub edi, ebp
cmp edi, 0xffffffff
mov eax, dword [esp + 0xc]
je 0x4a0c58
mov dword [esp + 8], esi
cmp ebx, edi
mov esi, edi
cmovb esi, ebx
test eax, eax
je 0x4a0c10
mov eax, esi
jmp 0x4a0c1e
push esi
push ebp
call fcn.0044ce70
add esp, 8
test eax, eax
js 0x4a0c02
mov esi, dword [esp + 8]
add esi, eax
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4a0bc0
mov eax, dword [esp + 0x38]
add eax, esi
xor edx, edx
div ecx
add esi, ecx
sub esi, edx
jmp 0x4a0bc0
mov eax, dword [edx + 0x1bc]
xor ebx, ebx
xor esi, esi
test eax, eax
je 0x4a0c6c
mov eax, ebx
mov ebp, dword [esp + 0x2c]
jmp 0x4a0c84
mov edx, dword [esp + 0x10]
jmp 0x4a0c64
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x4a0c4a
jmp 0x4a0c6c
xor ebx, ebx
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4a0c4a
push ebx
push ebp
call fcn.0044ce70
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
mov ebp, dword [esp + 0x2c]
jns 0x4a0c84
mov eax, ebx
add eax, esi
mov ecx, dword [edx]
mov dword [ecx + 0x38], eax
mov eax, dword [edx]
mov ecx, dword [edx + 0x1c]
add ecx, dword [eax + 0x38]
jmp 0x4a0de6
mov edx, dword [esp + 0x10]
jmp 0x4a0ca6
xor edi, edi
xor esi, esi
jmp 0x4a0caa
xor edi, edi
mov ebx, dword [esp + 0x34]
mov dword [esp + 8], esi
cmp dword [esp + 0xc], 0
je 0x4a0cbd
mov eax, edi
mov esi, dword [esp + 0x2c]
jmp 0x4a0cd5
push edi
push ebp
call fcn.0044ce70
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
mov esi, dword [esp + 0x2c]
jns 0x4a0cd5
mov eax, edi
add eax, dword [esp + 8]
mov ecx, dword [edx]
mov dword [ecx + 0x38], eax
mov eax, dword [edx + 0x30]
mov ecx, dword [edx + 0x1bc]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x1c4]
mov dword [esp + 0xc], eax
mov ecx, ebx
nop word [eax + eax]
test ecx, ecx
je 0x4a0d12
lea eax, [ecx - 1]
cmp byte [esi + ecx - 1], 0xa
mov ecx, eax
jne 0x4a0d00
jmp 0x4a0d17
mov eax, 0xffffffff
add eax, 1
cmp ebx, eax
cmovb eax, ebx
add esi, eax
mov ebp, ebx
sub ebp, eax
je 0x4a0da8
xor edi, edi
jmp 0x4a0d3e
lea eax, [ebx + 1]
cmp ebp, ebx
cmovbe eax, ebp
add esi, eax
sub ebp, eax
je 0x4a0db5
push ebp
push 9
push esi
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a0db7
mov ebx, eax
sub ebx, esi
cmp ebx, 0xffffffff
mov ecx, dword [esp + 0xc]
je 0x4a0db7
mov dword [esp + 8], edi
cmp ebp, ebx
mov edi, ebx
cmovb edi, ebp
cmp dword [esp + 0x30], 0
je 0x4a0d80
mov eax, edi
jmp 0x4a0d92
push edi
push esi
call fcn.0044ce70
mov ecx, dword [esp + 0x14]
add esp, 8
test eax, eax
js 0x4a0d6d
mov edi, dword [esp + 8]
add edi, eax
test ecx, ecx
je 0x4a0d30
mov eax, edi
xor edx, edx
div ecx
add edi, ecx
sub edi, edx
jmp 0x4a0d30
xor ebp, ebp
xor edi, edi
cmp dword [esp + 0x30], 0
jne 0x4a0dd4
jmp 0x4a0dc2
xor ebp, ebp
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x30], 0
jne 0x4a0dd4
push ebp
push esi
call fcn.0044ce70
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
jns 0x4a0dd6
mov eax, ebp
add eax, edi
mov ecx, dword [edx]
mov dword [ecx + 0x3c], eax
mov eax, dword [edx]
mov ecx, dword [eax + 0x3c]
mov ebp, dword [esp + 0x2c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [edx + 0x30]
mov cl, byte [ecx + 0x11f]
and cl, 0xfb
cmp cl, 1
jne 0x4a115f
mov edx, dword [eax + 0xc]
xor ecx, ecx
cmp dx, 1
je 0x4a0e15
add edx, 0xfffffff9
cmp dx, 0xc
jb 0x4a0e15
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x214]
lea esi, [eax + 0x21c]
test dl, 1
mov dword [esp + 8], esi
jne 0x4a0e4c
mov esi, dword [eax + 0x21c]
mov edi, dword [eax + 0x220]
test edi, edi
jne 0x4a0e51
xor ecx, ecx
lea ebx, [esi + ecx*8]
mov edx, dword [esp + 0x10]
jmp 0x4a1089
mov edi, 8
mov eax, ecx
shr eax, 4
mov ebp, ecx
shr ebp, 9
xor ebp, eax
add edi, 0xffffffff
and ebp, edi
mov eax, dword [esi + ebp*8]
cmp eax, ecx
jne 0x4a1025
lea ebx, [esi + ebp*8]
test dl, 1
jne 0x4a1078
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 0x21c]
mov ecx, dword [edx + 0x220]
mov ebp, dword [esp + 0x2c]
jmp 0x4a1089
push esi
push 0x5c
push ecx
mov ebx, ecx
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a0ef9
mov edi, eax
sub edi, ebx
cmp edi, 0xffffffff
mov edx, dword [esp + 0x10]
je 0x4a085a
mov ecx, ebx
lea ebx, [edi + 1]
cmp ebx, esi
jae 0x4a085a
cmp byte [ecx + ebx], 0xa
je 0x4a0f02
cmp esi, edi
cmovbe ebx, esi
mov eax, esi
sub eax, ebx
add ebx, ecx
push eax
push 0x5c
push ebx
mov ebx, ecx
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a0ef9
mov edi, eax
sub edi, ebx
cmp edi, 0xffffffff
mov edx, dword [esp + 0x10]
mov ecx, ebx
jne 0x4a0eb7
jmp 0x4a085a
mov edx, dword [esp + 0x10]
jmp 0x4a085a
mov ecx, dword [edx + 0x24]
mov ebp, dword [edx + 0x28]
mov eax, dword [ecx + 0x224]
sub eax, esi
add eax, ebx
lea edx, [esp + 0x3c]
push 1
push eax
push edx
call fcn.004ba760
lea eax, [esp + 0x40]
mov ecx, ebp
push dword [esp + 0x3c]
push eax
call fcn.004071d0
mov ecx, dword [esp + 0x10]
push dword [esp + 0x44]
call fcn.004a30d0
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
cmova ecx, ebx
mov dword [eax + 0x14], ecx
mov eax, dword [edx + 0x1bc]
mov dword [esp + 0x38], eax
mov eax, dword [edx]
mov ebp, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
test esi, esi
je 0x4a0ff2
mov ecx, dword [edx + 0x30]
mov ecx, dword [ecx + 0x1c4]
mov eax, dword [eax + 0x54]
mov dword [esp + 0x34], eax
xor ebx, ebx
mov dword [esp + 0x2c], ecx
jmp 0x4a0f91
mov edx, dword [esp + 0x10]
lea eax, [edi + 1]
cmp esi, edi
cmovbe eax, esi
add ebp, eax
sub esi, eax
je 0x4a0ff8
push esi
push 9
push ebp
call sub.VCRUNTIME140.dll_memchr
add esp, 0xc
test eax, eax
je 0x4a0fec
mov edi, eax
sub edi, ebp
cmp edi, 0xffffffff
je 0x4a0fec
mov dword [esp + 0xc], ebx
cmp esi, edi
mov ebx, edi
cmovb ebx, esi
cmp dword [esp + 0x38], 0
je 0x4a0fc0
mov eax, ebx
jmp 0x4a0fce
push ebx
push ebp
call fcn.0044ce70
add esp, 8
test eax, eax
js 0x4a0fbc
mov ebx, dword [esp + 0xc]
add ebx, eax
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4a0f7f
mov eax, dword [esp + 0x34]
add eax, ebx
xor edx, edx
div ecx
add ebx, ecx
sub ebx, edx
jmp 0x4a0f7f
mov edx, dword [esp + 0x10]
jmp 0x4a0ffa
xor esi, esi
xor ebx, ebx
jmp 0x4a0ffa
xor esi, esi
cmp dword [esp + 0x38], 0
je 0x4a1005
mov eax, esi
jmp 0x4a1017
push esi
push ebp
call fcn.0044ce70
mov edx, dword [esp + 0x18]
add esp, 8
test eax, eax
js 0x4a1001
add eax, ebx
mov ecx, dword [edx]
mov dword [ecx + 0x38], eax
mov ebp, dword [edx]
jmp 0x4a085a
mov dword [esp + 0xc], 1
cmp eax, 0xfffff000
je 0x4a1053
mov eax, dword [esp + 0xc]
add ebp, eax
add eax, 1
mov dword [esp + 0xc], eax
and ebp, edi
lea ebx, [esi + ebp*8]
mov eax, dword [esi + ebp*8]
cmp eax, ecx
je 0x4a0e70
jmp 0x4a102d
test dl, 1
jne 0x4a1071
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x21c]
mov ecx, dword [eax + 0x220]
mov ebp, dword [esp + 0x2c]
jmp 0x4a0e40
mov eax, dword [esp + 8]
lea ebx, [eax + 0x40]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x2c]
mov ecx, 8
mov esi, dword [esp + 8]
lea eax, [esi + ecx*8]
mov esi, edx
add edx, 0x260
lea edi, [ebx + 4]
cmp ebx, eax
mov ecx, dword [esi + 0x1cc]
mov esi, dword [esi + 0x25c]
cmove edi, edx
mov edi, dword [edi]
mov eax, esi
test ecx, ecx
je 0x4a10f1
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c8]
mov ecx, dword [eax + ecx*4 - 4]
mov edx, dword [ecx + 0xc]
mov eax, esi
cmp dx, 1
je 0x4a10f1
add edx, 0xfffffff9
mov eax, esi
cmp dx, 0xc
jb 0x4a10f1
mov ecx, dword [ecx + 8]
mov eax, esi
test ecx, ecx
je 0x4a10f1
call fcn.00526920
cmp eax, 0xa
mov ebx, dword [esp + 0x10]
je 0x4a1112
mov eax, dword [ebx + 0x25c]
lea ecx, [esi + edi*8]
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx + 0x260]
lea eax, [eax + edx*8]
cmp ecx, eax
je 0x4a1112
mov eax, dword [ebx]
mov cl, byte [esi + edi*8 + 4]
mov byte [eax + 0x2c], cl
mov edx, ebx
jmp 0x4a115f
mov eax, dword [ebx]
cmp word [eax + 0xc], 5
mov edx, ebx
mov edi, dword [esp + 0x34]
jne 0x4a115f
lea ecx, [edx + 0x2ac]
push 0
push 0
push edi
push ebp
mov esi, edx
call fcn.00519110
test al, al
je 0x4a1142
mov eax, dword [esi]
mov byte [eax + 0x2c], 0x33
mov edx, esi
jmp 0x4a115f
lea ecx, [esi + 0x2b4]
push 0
push 0
push edi
push ebp
call fcn.00519110
test al, al
mov edx, esi
je 0x4a115f
mov eax, dword [edx]
mov byte [eax + 0x2c], 0x34
mov edi, dword [edx]
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.00533ace
mov eax, edi
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret