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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x5d45e8
sub esp, 0x90
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
call fcn.005d47a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x98]
cmp ecx, eax
jb 0x5d45e2
mov ebx, ecx
sub ecx, eax
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov esi, dword [esp + 0x94]
mov edx, ebx
lea ebx, [esi + ecx]
test ebp, ebp
je 0x5d3b24
movzx ecx, byte [esi + ecx]
cmp cl, 0x5c
jne 0x5d3a0e
mov ecx, 1
jmp 0x5d3a14
cmp cl, 0x2f
sete cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x68], ebx
mov byte [esp + 0x26], cl
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.0045fac7
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], edx
mov esi, dword [esp + 0x28]
mov dword [esp + 0x8c], esi
movzx esi, byte [esp + 0x26]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5d3b1b
test ecx, ecx
jne 0x5d3af2
mov edi, dword [esp + 0x6c]
test ebp, ebp
je 0x5d3a88
cmp byte [edi], 0x5c
jne 0x5d3a88
mov dword [esp + 0x80], 1
jmp 0x5d3b14
lea eax, [0x65f440]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebx, ebp
jb 0x5d45d9
cmp ebp, ecx
jl 0x5d3acf
mov ebp, ecx
cmp edx, eax
je 0x5d3ae7
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x68]
mov ebp, ecx
movzx esi, byte [esp + 0x26]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
cmp ecx, eax
jbe 0x5d45d4
mov byte [edi + eax], 0x5c
inc dword [esp + 0x80]
mov eax, 1
jmp 0x5d3b1d
xor eax, eax
mov ecx, eax
jmp 0x5d3bca
cmp eax, 1
jle 0x5d3b85
cmp byte [esi + 1], 0x3a
je 0x5d3b85
nop
mov dword [esp], esi
mov dword [esp + 4], edx
lea eax, [0x6909ae]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6909be]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004751a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
add esp, 0x90
ret
mov dword [esp], 0
mov dword [esp + 4], esi
mov dword [esp + 8], edx
lea eax, [0x6909ad]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.0044b970
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
add esp, 0x90
ret
mov eax, edi
cmp eax, ebp
jge 0x5d4065
jae 0x5d45cd
movzx edi, byte [eax + ebx]
xchg edi, eax
cmp al, 0x5c
xchg edi, eax
je 0x5d3bea
xchg edi, eax
cmp al, 0x2f
xchg edi, eax
jne 0x5d3bef
lea edi, [eax + 1]
jmp 0x5d3bc8
mov dword [esp + 0x30], ecx
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x5d3f4d
mov edx, ebx
lea ebx, [eax + 1]
cmp ebp, ebx
jne 0x5d3c0d
mov edi, ebx
mov ebx, edx
jmp 0x5d3bc8
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x5d3f45
cmp ebp, ebx
jbe 0x5d45c4
movzx esi, byte [eax + edx + 1]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x5d4452
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x5d4452
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
jne 0x5d3f3c
cmp ebp, ebx
jbe 0x5d4448
lea ebx, [eax + edx + 1]
cmp byte [ebx], 0x2e
jne 0x5d3f33
lea ebx, [eax + 2]
cmp ebp, ebx
je 0x5d3c7f
jbe 0x5d443f
movzx esi, byte [eax + edx + 2]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x5d3c7f
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x5d3f2a
mov esi, dword [esp + 0x80]
cmp ecx, esi
jge 0x5d3c97
dec esi
mov dword [esp + 0x80], esi
jmp 0x5d43e2
movzx edi, byte [esp + 0x26]
xchg edi, eax
test al, al
xchg edi, eax
je 0x5d3caf
mov eax, edi
mov ecx, ebp
mov ebp, dword [esp + 0x30]
jmp 0x5d4381
mov dword [esp + 0x40], ebx
test esi, esi
jle 0x5d3d84
mov eax, edi
mov edi, dword [esp + 0x74]
test edi, edi
jne 0x5d3d5e
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov ebp, dword [esp + 0x6c]
cmp edi, esi
jle 0x5d3cee
add ebp, esi
cmp byte [ebp], 0x5c
jne 0x5d3cee
lea ebp, [esi + 1]
mov dword [esp + 0x80], ebp
jmp 0x5d3d88
mov dword [esp + 0x3c], edi
lea eax, [0x65f440]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebp, ebx
ja 0x5d43cf
cmp ebp, ecx
jl 0x5d3d39
mov ebp, ecx
cmp edx, eax
je 0x5d3d4d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
movzx eax, byte [esp + 0x26]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x80]
cmp edi, ecx
jae 0x5d43c8
mov byte [esi + edi], 0x5c
inc dword [esp + 0x80]
mov ecx, ebp
jmp 0x5d3d88
mov eax, edi
mov ecx, ebp
mov ebp, dword [esp + 0x74]
test ebp, ebp
jne 0x5d3e31
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
cmp esi, ebp
jle 0x5d3dc1
jbe 0x5d43bf
add edi, ebp
cmp byte [edi], 0x2e
jne 0x5d3dc1
inc ebp
mov dword [esp + 0x80], ebp
jmp 0x5d3e53
mov dword [esp + 0x3c], esi
lea eax, [0x65f440]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebx, ebp
jb 0x5d43b6
cmp ebp, ecx
jl 0x5d3e0c
mov ebp, ecx
cmp edx, eax
je 0x5d3e20
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
movzx eax, byte [esp + 0x26]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x80]
cmp ebp, edi
jbe 0x5d43ad
mov byte [esi + edi], 0x2e
inc dword [esp + 0x80]
mov ebp, dword [esp + 0x74]
test ebp, ebp
jne 0x5d3efc
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
cmp ebp, esi
jge 0x5d3e8c
jae 0x5d43a4
add edi, ebp
cmp byte [edi], 0x2e
jne 0x5d3e8c
inc ebp
mov dword [esp + 0x80], ebp
jmp 0x5d3f1e
mov dword [esp + 0x3c], esi
lea eax, [0x65f440]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebp, ebx
ja 0x5d439b
cmp ebp, ecx
jl 0x5d3ed7
mov ebp, ecx
cmp edx, eax
je 0x5d3eeb
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
movzx eax, byte [esp + 0x26]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x80]
cmp edi, ebp
jae 0x5d4392
mov byte [esi + edi], 0x2e
inc dword [esp + 0x80]
mov ebp, dword [esp + 0x80]
jmp 0x5d4381
movzx ebx, byte [esp + 0x26]
test bl, bl
jmp 0x5d3f55
movzx ebx, byte [esp + 0x26]
test bl, bl
jmp 0x5d3f55
movzx ebx, byte [esp + 0x26]
test bl, bl
jmp 0x5d3f55
xchg esi, eax
test al, al
xchg esi, eax
mov ebx, esi
jmp 0x5d3f55
xchg esi, eax
test al, al
xchg esi, eax
mov edx, ebx
mov ebx, esi
je 0x5d3f69
cmp dword [esp + 0x80], 1
jne 0x5d3f78
test bl, bl
jne 0x5d423f
mov esi, dword [esp + 0x80]
test esi, esi
je 0x5d423f
mov esi, dword [esp + 0x74]
test esi, esi
jne 0x5d402b
mov dword [esp + 0x2c], eax
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
cmp edi, esi
jle 0x5d3fb7
jbe 0x5d4378
add ebx, esi
cmp byte [ebx], 0x5c
jne 0x5d3fb7
lea ebx, [esi + 1]
mov dword [esp + 0x80], ebx
jmp 0x5d404d
mov dword [esp + 0x3c], edi
lea eax, [0x65f440]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edi
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebx, ebp
jb 0x5d436f
cmp ebp, ecx
jl 0x5d4002
mov ebp, ecx
cmp edx, eax
je 0x5d4016
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x68]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x80]
cmp ebx, esi
jae 0x5d4366
mov byte [edi + ebx], 0x5c
inc dword [esp + 0x80]
movzx ebx, byte [esp + 0x26]
jmp 0x5d423f
mov ebx, edx
movzx esi, byte [esp + 0x26]
mov edi, eax
jmp 0x5d3bc8
mov ebx, dword [esp + 0x80]
test ebx, ebx
jne 0x5d4124
mov ebp, dword [esp + 0x74]
test ebp, ebp
jne 0x5d4102
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
cmp eax, ebx
jle 0x5d40a3
add ebp, ebx
cmp byte [ebp], 0x2e
jne 0x5d40a3
lea eax, [ebx + 1]
mov dword [esp + 0x80], eax
jmp 0x5d4124
mov dword [esp + 0x44], eax
lea ecx, [0x65f440]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebp, ebx
ja 0x5d422c
cmp ebp, ecx
jl 0x5d40ee
mov ebp, ecx
cmp edx, eax
je 0x5d4102
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
cmp eax, ecx
jae 0x5d4227
mov byte [ebx + eax], 0x2e
inc dword [esp + 0x80]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
test eax, eax
je 0x5d419e
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
cmp ecx, ebx
ja 0x5d4220
mov ebx, dword [esp + 0x80]
cmp ebx, edx
ja 0x5d4219
mov dword [esp + 0x68], ebp
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x48]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0044bc20
mov dword [esp], 0
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.0044b970
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x5d41be
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
add ecx, dword [esp + 0x80]
cmp edx, ecx
jb 0x5d4214
nop
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6909ae]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6909be]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0xffffffff
call fcn.004751a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
add esp, 0x90
ret
call fcn.0045f8d0
mov ecx, ebx
call fcn.0045f8f0
mov edx, ebx
call fcn.0045f8d0
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
inc eax
mov ebp, dword [esp + 0x44]
movzx ebx, byte [esp + 0x26]
cmp eax, ebp
jge 0x5d4057
jae 0x5d435f
movzx esi, byte [eax + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x5d4057
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x5d4057
mov edi, dword [esp + 0x74]
test edi, edi
jne 0x5d4320
mov dword [esp + 0x38], eax
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
cmp ebx, edi
jle 0x5d42ab
jbe 0x5d4356
add ebp, edi
xchg esi, eax
cmp byte [ebp], al
xchg esi, eax
jne 0x5d42ab
lea ebx, [edi + 1]
mov dword [esp + 0x80], ebx
jmp 0x5d4235
mov dword [esp + 0x3c], ebx
lea eax, [0x65f440]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebx, ebp
jb 0x5d434d
cmp ebp, ecx
jl 0x5d42f2
mov ebp, ecx
cmp edx, eax
je 0x5d4306
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x68]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x44]
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x80]
cmp edi, ebp
jbe 0x5d4344
xchg esi, eax
mov byte [ebx + ebp], al
xchg esi, eax
inc dword [esp + 0x80]
jmp 0x5d4235
mov eax, ebp
mov ecx, edi
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
mov eax, edi
mov ecx, ebx
call fcn.0045f8b0
mov ecx, ebp
call fcn.0045f8b0
mov eax, ebx
mov ecx, esi
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
mov eax, esi
mov ecx, edi
call fcn.0045f8b0
mov esi, eax
mov edi, ebx
mov ecx, ebp
mov ebx, edx
mov ebp, dword [esp + 0x44]
jmp 0x5d3bc8
mov eax, edi
mov ecx, ebp
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
mov eax, ebp
mov ecx, esi
call fcn.0045f8b0
mov eax, edi
mov ecx, ebp
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
mov eax, ebp
mov ecx, esi
call fcn.0045f8b0
mov eax, edi
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
lea esi, [eax - 1]
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x80]
cmp ecx, eax
jge 0x5d4421
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
test esi, esi
je 0x5d4403
cmp edi, eax
jbe 0x5d4438
movzx esi, byte [esi + eax]
jmp 0x5d4413
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
cmp esi, eax
jbe 0x5d4431
movzx esi, byte [edi + eax]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x5d4421
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
jne 0x5d43d8
movzx eax, byte [esp + 0x26]
mov ecx, ebp
mov ebp, dword [esp + 0x30]
jmp 0x5d4381
mov ecx, esi
call fcn.0045f8b0
mov ecx, edi
call fcn.0045f8b0
mov eax, ebx
mov ecx, ebp
call fcn.0045f8b0
mov eax, ebx
mov ecx, ebp
call fcn.0045f8b0
inc ebx
cmp ebx, ebp
jge 0x5d446e
jae 0x5d45bb
movzx esi, byte [ebx + edx]
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
je 0x5d4451
xchg esi, eax
cmp al, 0x2f
xchg esi, eax
je 0x5d4451
mov dword [esp + 0x3c], ebx
mov esi, dword [esp + 0x80]
test esi, esi
je 0x5d4481
xor eax, eax
jmp 0x5d44bf
cmp ebx, ebp
ja 0x5d45b2
sub ebp, ebx
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
add ebp, edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.005d47a0
mov eax, dword [esp + 8]
test eax, eax
setg al
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
test al, al
je 0x5d458b
mov esi, dword [esp + 0x74]
test esi, esi
jne 0x5d456d
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
cmp esi, eax
jle 0x5d4502
jbe 0x5d45ab
add edi, eax
cmp byte [edi], 0x2e
jne 0x5d4502
lea esi, [eax + 1]
mov dword [esp + 0x80], esi
jmp 0x5d458b
mov dword [esp + 0x34], esi
lea eax, [0x65f440]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.004483c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
cmp ebx, ebp
jb 0x5d45a2
cmp ebp, ecx
jl 0x5d4549
mov ebp, ecx
cmp edx, eax
je 0x5d455d
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004601c0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x74]
mov eax, dword [esp + 0x80]
cmp esi, eax
jbe 0x5d459b
mov byte [edi + eax], 0x2e
inc dword [esp + 0x80]
mov ebx, edx
movzx esi, byte [esp + 0x26]
mov edi, dword [esp + 0x3c]
jmp 0x5d3bc8
mov ecx, esi
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
mov ecx, esi
call fcn.0045f8b0
mov eax, ebx
mov ecx, ebp
call fcn.0045f910
mov eax, ebx
mov ecx, ebp
call fcn.0045f8b0
mov eax, ebx
mov ecx, ebp
call fcn.0045f8b0
mov ecx, ebp
call fcn.0045f8b0
call fcn.0045f8b0
mov ecx, ebp
mov edx, ebx
call fcn.0045f8d0
call fcn.0045f910
nop
call fcn.0045e420
jmp fcn.005d3990