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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x4a76fc
sub esp, 0xb0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call fcn.004a7a10
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xb8]
cmp ecx, eax
jb 0x4a76f6
mov ebx, ecx
sub ecx, eax
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov edx, ebx
mov ebx, dword [esp + 0xb4]
mov esi, ecx
add ecx, ebx
test ebp, ebp
je 0x4a6c34
mov edi, ebx
movzx ebx, byte [ebx + esi]
cmp bl, 0x5c
jne 0x4a6b01
mov ebx, 1
jmp 0x4a6b07
cmp bl, 0x2f
sete bl
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x64], ecx
mov byte [esp + 0x26], bl
mov esi, edi
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.0045f357
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ebp
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], edx
mov eax, ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xac], ecx
lea edi, [esp + 0x68]
lea esi, [esp + 0x8c]
call fcn.0045f816
test bl, bl
je 0x4a6c2b
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x4a6c08
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ecx, esi
jle 0x4a6b9f
jbe 0x4a76ef
add edi, esi
cmp byte [edi], 0x5c
jne 0x4a6b9f
inc esi
mov dword [esp + 0x7c], esi
jmp 0x4a6c24
mov dword [esp + 0x3c], ecx
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4a76e6
cmp ebp, ecx
jl 0x4a6be7
mov ebp, ecx
cmp edx, eax
je 0x4a6bfb
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ecx, edi
jbe 0x4a76df
mov byte [esi + edi], 0x5c
inc dword [esp + 0x7c]
mov ecx, 1
jmp 0x4a6c2d
xor ecx, ecx
mov edx, ecx
jmp 0x4a6cda
cmp eax, 1
jle 0x4a6c95
cmp byte [ebx + 1], 0x3a
je 0x4a6c95
nop
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x4c5f1d]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4c5f2b]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004a4f30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
lea eax, [0x4c5f1c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044c8e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
mov ecx, esi
cmp ecx, ebp
jge 0x4a712c
jae 0x4a76d6
movzx esi, byte [ecx + eax]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4a6cfa
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x4a6cff
lea esi, [ecx + 1]
jmp 0x4a6cd8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4a700d
lea edi, [ecx + 1]
cmp ebp, edi
je 0x4a6d32
jbe 0x4a76cd
movzx ebx, byte [ecx + eax + 1]
cmp bl, 0x5c
jne 0x4a6d28
movzx ebx, byte [esp + 0x26]
jmp 0x4a6d32
cmp bl, 0x2f
jne 0x4a6d36
movzx ebx, byte [esp + 0x26]
mov esi, edi
jmp 0x4a6cd8
xchg esi, eax
cmp al, 0x2e
xchg esi, eax
jne 0x4a7004
cmp ebp, edi
jbe 0x4a76c4
lea ebx, [ecx + eax + 1]
cmp byte [ebx], 0x2e
jne 0x4a6ffb
lea ebx, [ecx + 2]
cmp ebp, ebx
je 0x4a6d7a
jbe 0x4a76bb
movzx esi, byte [ecx + eax + 2]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4a6d7a
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x4a6ff2
mov esi, dword [esp + 0x7c]
cmp edx, esi
jge 0x4a6d8c
dec esi
mov dword [esp + 0x7c], esi
jmp 0x4a7661
movzx edi, byte [esp + 0x26]
xchg edi, eax
test al, al
xchg edi, eax
je 0x4a6da4
mov ecx, edi
mov ebp, edx
mov edx, dword [esp + 0x40]
jmp 0x4a7605
mov dword [esp + 0x38], ebx
test esi, esi
jle 0x4a6e6d
mov ecx, edi
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4a6e4d
mov edi, dword [esp + 0x6c]
mov edx, ebp
mov ebp, dword [esp + 0x68]
cmp edi, esi
jle 0x4a6de0
add ebp, esi
cmp byte [ebp], 0x5c
jne 0x4a6de0
lea ebp, [esi + 1]
mov dword [esp + 0x7c], ebp
jmp 0x4a6e71
mov dword [esp + 0x3c], edi
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4a7653
cmp ebp, ecx
jl 0x4a6e28
mov ebp, ecx
cmp edx, eax
je 0x4a6e3c
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov edx, ebp
mov ebp, dword [esp + 0x7c]
cmp esi, ebp
jbe 0x4a764a
mov byte [edi + ebp], 0x5c
inc dword [esp + 0x7c]
jmp 0x4a6e71
mov ecx, edi
mov edx, ebp
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x4a6f11
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp esi, ebp
jle 0x4a6ea4
jbe 0x4a7641
add edi, ebp
cmp byte [edi], 0x2e
jne 0x4a6ea4
inc ebp
mov dword [esp + 0x7c], ebp
jmp 0x4a6f2d
mov dword [esp + 0x3c], esi
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4a7638
cmp ebp, ecx
jl 0x4a6eec
mov ebp, ecx
cmp edx, eax
je 0x4a6f00
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ebp, edi
jbe 0x4a762f
mov byte [esi + edi], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x4a6fcd
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp esi, ebp
jle 0x4a6f60
jbe 0x4a7626
add edi, ebp
cmp byte [edi], 0x2e
jne 0x4a6f60
inc ebp
mov dword [esp + 0x7c], ebp
jmp 0x4a6fe9
mov dword [esp + 0x3c], esi
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4a761d
cmp ebp, ecx
jl 0x4a6fa8
mov ebp, ecx
cmp edx, eax
je 0x4a6fbc
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x7c]
cmp ebp, edi
jbe 0x4a7614
mov byte [esi + edi], 0x2e
inc dword [esp + 0x7c]
mov ebp, dword [esp + 0x7c]
jmp 0x4a7605
movzx ebx, byte [esp + 0x26]
test bl, bl
jmp 0x4a700f
movzx ebx, byte [esp + 0x26]
test bl, bl
jmp 0x4a700f
movzx ebx, byte [esp + 0x26]
test bl, bl
jmp 0x4a700f
test bl, bl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
je 0x4a7028
cmp dword [esp + 0x7c], 1
jne 0x4a7034
test bl, bl
jne 0x4a70fb
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x4a70fb
mov esi, dword [esp + 0x70]
test esi, esi
jne 0x4a70da
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
cmp esi, edi
jge 0x4a7069
jae 0x4a75fc
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x4a7069
lea ebx, [esi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4a70f6
mov dword [esp + 0x3c], edi
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x4a75f3
cmp ebp, ecx
jl 0x4a70b1
mov ebp, ecx
cmp edx, eax
je 0x4a70c5
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
cmp ebx, esi
jae 0x4a75ea
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x7c]
movzx ebx, byte [esp + 0x26]
mov esi, dword [esp + 0x7c]
test esi, esi
jne 0x4a72e8
mov esi, dword [esp + 0x88]
test esi, esi
jne 0x4a72e8
test ecx, ecx
je 0x4a72e8
mov esi, ecx
jmp 0x4a7403
mov esi, ecx
jmp 0x4a6cd8
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x4a71d3
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4a71b7
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
test eax, eax
jle 0x4a715b
cmp byte [ebx], 0x2e
jne 0x4a715b
mov dword [esp + 0x7c], 1
jmp 0x4a71d3
mov dword [esp + 0x40], eax
lea ecx, [0x4b8560]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x4a72d5
cmp ebp, ecx
jl 0x4a71a3
mov ebp, ecx
cmp edx, eax
je 0x4a71b7
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
cmp eax, ecx
jae 0x4a72d0
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x7c]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x78]
test eax, eax
je 0x4a724a
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
ja 0x4a72c9
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
ja 0x4a72c2
mov dword [esp + 0x64], ebp
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0044cb90
mov dword [esp], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.0044c8e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4a7267
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
add ecx, dword [esp + 0x7c]
cmp edx, ecx
jb 0x4a72bd
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x4c5f1d]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4c5f2b]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004a4f30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
add esp, 0xb0
ret
call fcn.0045f220
mov ecx, ebx
call fcn.0045f240
mov edx, ebx
call fcn.0045f220
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
inc ecx
mov ebp, dword [esp + 0x40]
movzx ebx, byte [esp + 0x26]
cmp ecx, ebp
jge 0x4a7125
jae 0x4a73f9
movzx esi, byte [ecx + eax]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x4a7125
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x4a7125
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4a73c0
mov dword [esp + 0x34], ecx
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp ebx, edi
jle 0x4a734e
jbe 0x4a73f0
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x4a734e
lea ebx, [edi + 1]
mov dword [esp + 0x7c], ebx
jmp 0x4a72de
mov dword [esp + 0x3c], ebx
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4a73e7
cmp ebp, ecx
jl 0x4a7392
mov ebp, ecx
cmp edx, eax
je 0x4a73a6
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp edi, ebp
jbe 0x4a73de
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x7c]
jmp 0x4a72de
mov eax, ebp
mov ecx, edi
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
mov eax, edi
mov ecx, ebx
call fcn.0045f200
mov eax, ecx
mov ecx, ebp
call fcn.0045f200
inc ecx
cmp ecx, ebp
jge 0x4a75af
jae 0x4a75e1
movzx edi, byte [ecx + eax]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4a75af
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
je 0x4a75af
xchg edi, eax
cmp al, 0x3a
xchg edi, eax
jne 0x4a7402
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4a74cf
mov edi, dword [esp + 0x6c]
mov ecx, ebx
mov ebx, dword [esp + 0x68]
test edi, edi
jle 0x4a745e
cmp byte [ebx], 0x2e
jne 0x4a745e
mov dword [esp + 0x7c], 1
jmp 0x4a74f0
mov dword [esp + 0x3c], edi
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
ja 0x4a75d8
cmp ebp, ecx
jl 0x4a74a6
mov ebp, ecx
cmp edx, eax
je 0x4a74ba
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x30]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
cmp ebx, ecx
jae 0x4a75d1
mov byte [edi + ebx], 0x2e
inc dword [esp + 0x7c]
movzx ecx, byte [esp + 0x26]
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4a7591
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
cmp edi, ebx
jle 0x4a7524
jbe 0x4a75c8
add ebp, ebx
cmp byte [ebp], 0x5c
jne 0x4a7524
inc ebx
mov dword [esp + 0x7c], ebx
jmp 0x4a75a9
mov dword [esp + 0x3c], edi
lea eax, [0x4b8560]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.00449110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jb 0x4a75bf
cmp ebp, ecx
jl 0x4a7568
mov ebp, ecx
cmp edx, eax
je 0x4a757c
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045fa50
mov eax, dword [esp + 0x64]
movzx ecx, byte [esp + 0x26]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jbe 0x4a75b6
mov byte [edi + ebp], 0x5c
inc dword [esp + 0x7c]
mov ebx, ecx
mov ebp, dword [esp + 0x40]
mov ecx, esi
jmp 0x4a72e8
mov eax, ebp
mov ecx, ebx
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
mov eax, ebx
mov ecx, edi
call fcn.0045f200
mov eax, ebx
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
mov eax, ecx
mov ecx, ebp
call fcn.0045f200
mov eax, ebx
mov ecx, esi
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
mov eax, esi
mov ecx, edi
call fcn.0045f200
mov esi, ebx
mov edx, ebp
mov ebx, ecx
mov ebp, dword [esp + 0x40]
jmp 0x4a6cd8
mov eax, edi
mov ecx, ebp
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
mov eax, ebp
mov ecx, esi
call fcn.0045f200
mov eax, edi
mov ecx, ebp
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
mov eax, ebp
mov ecx, esi
call fcn.0045f200
mov eax, ebp
mov ecx, esi
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
dec esi
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x7c]
cmp edx, esi
jge 0x4a769d
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
test edi, edi
je 0x4a767f
cmp ecx, esi
jbe 0x4a76b4
movzx edi, byte [edi + esi]
jmp 0x4a768f
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp ecx, esi
jbe 0x4a76ad
movzx edi, byte [edi + esi]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x4a769d
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x4a765c
movzx ecx, byte [esp + 0x26]
mov ebp, edx
mov edx, dword [esp + 0x40]
jmp 0x4a7605
mov eax, esi
call fcn.0045f200
mov eax, esi
call fcn.0045f200
mov eax, ebx
mov ecx, ebp
call fcn.0045f200
mov eax, edi
mov ecx, ebp
call fcn.0045f200
mov eax, edi
mov ecx, ebp
call fcn.0045f200
mov eax, ecx
mov ecx, ebp
call fcn.0045f200
mov eax, edi
call fcn.0045f200
mov ecx, ebp
mov edx, ebx
call fcn.0045f220
mov eax, esi
call fcn.0045f200
call fcn.0045f260
nop
call fcn.0045dd70
jmp fcn.004a6a80