Function at 0x403e90
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
mov eax, 0x21bc
push esi
push ebx
call fcn.00497490
sub esp, eax
mov ebx, dword [esp + 0x21d4]
call fcn.004572b0
mov esi, dword [esp + 0x21d0]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x1a4
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 8], esi
lea esi, [esp + 0x78]
mov dword [esp + 4], esi
call fcn.0045d910
test eax, eax
mov ebp, eax
js 0x404540
mov dword [esp], esi
call fcn.0045d860
mov dword [esp + 4], 0x53f25c
mov dword [esp], ebp
call sub.msvcrt.dll__fdopen
lea edx, [esp + 0x1b0]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x2000
mov dword [esp + 4], 1
mov dword [esp + 0x38], eax
mov dword [esp], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], 0x2000
mov dword [esp + 0x44], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov byte [esp + 0x54], 0
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x403f81
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x5c], 0
mov edi, 0x800013
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0x100
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
movzx eax, byte [edx]
nop
lea esi, [esi]
lea ecx, [eax - 9]
cmp cl, 0x17
jbe 0x4040b0
mov edi, 0x800013
cmp al, 0x2f
jne 0x404150
cmp dword [esp + 0x44], edx
ja 0x404280
cmp byte [esp + 0x54], 0
je 0x404710
cmp byte [esp + 0x54], 0
mov ecx, 0x2f
je 0x4047d2
mov dword [esp + 0x28], ebp
jmp 0x40402c
lea ebp, [edx + 1]
mov dword [esp + 0x48], ebp
movzx eax, byte [edx + 1]
mov edx, ebp
cmp cl, 0xa
je 0x404a7c
mov ecx, eax
test cl, cl
je 0x404142
cmp dword [esp + 0x44], edx
ja 0x404014
cmp byte [esp + 0x54], 0
mov eax, ecx
jne 0x404021
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov byte [esp + 0x2f], cl
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
movzx ecx, byte [esp + 0x2f]
lea ebp, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebp
jae 0x4040a4
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx eax, byte [edx]
jmp 0x404021
bt edi, ecx
jae 0x404150
cmp dword [esp + 0x44], edx
ja 0x404130
cmp byte [esp + 0x54], 0
jne 0x403fd0
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x404122
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx eax, byte [edx]
jmp 0x403fd0
lea ecx, [edx + 1]
mov dword [esp + 0x48], ecx
movzx eax, byte [edx + 1]
mov edx, ecx
jmp 0x403fd0
mov ebp, dword [esp + 0x28]
xor eax, eax
nop
lea esi, [esi]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x4046f0
test al, al
je 0x404771
lea eax, [esp + 0x38]
lea ecx, [esp + 0x58]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0051e9d0
sub esp, 8
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x4046f0
mov edx, dword [esp + 0x48]
mov edi, 0x800013
movzx eax, byte [edx]
lea ecx, [eax - 9]
cmp cl, 0x17
jbe 0x404390
mov edi, 0x800013
cmp al, 0x2f
jne 0x404430
cmp dword [esp + 0x44], edx
ja 0x404580
cmp byte [esp + 0x54], 0
je 0x404686
cmp byte [esp + 0x54], 0
mov ecx, 0x2f
je 0x404a8e
mov dword [esp + 0x28], ebp
jmp 0x4041f8
lea ebp, [edx + 1]
mov dword [esp + 0x48], ebp
movzx eax, byte [edx + 1]
mov edx, ebp
cmp cl, 0xa
je 0x404a85
mov ecx, eax
test cl, cl
je 0x404422
cmp dword [esp + 0x44], edx
ja 0x4041e0
cmp byte [esp + 0x54], 0
mov eax, ecx
jne 0x4041ed
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov byte [esp + 0x2f], cl
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
movzx ecx, byte [esp + 0x2f]
lea ebp, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebp
jae 0x404270
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx eax, byte [edx]
jmp 0x4041ed
lea ecx, [edx + 1]
mov dword [esp + 0x48], ecx
movzx eax, byte [ecx]
cmp al, 0x2a
jne 0x404af2
cmp dword [esp + 0x44], ecx
ja 0x4047a6
cmp byte [esp + 0x54], 0
je 0x404899
test al, al
je 0x404a37
mov edx, dword [esp + 0x44]
cmp al, 0x2a
mov dword [esp + 0x28], edx
jne 0x40479e
cmp edx, ecx
ja 0x4042d6
cmp byte [esp + 0x54], 0
je 0x4048f9
cmp edx, ecx
mov dword [esp + 0x28], edx
jbe 0x4042c3
lea edx, [ecx + 1]
mov dword [esp + 0x48], edx
movzx eax, byte [edx]
cmp al, 0x2f
jne 0x4047b1
cmp edx, dword [esp + 0x28]
jb 0x4047c0
cmp byte [esp + 0x54], 0
jne 0x403fe9
lea esi, [esi]
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x404358
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx eax, byte [edx]
lea ecx, [eax - 9]
cmp cl, 0x17
ja 0x403fe1
bt edi, ecx
jae 0x403fe1
cmp dword [esp + 0x44], edx
ja 0x4047c0
cmp byte [esp + 0x54], 0
jne 0x40435b
jmp 0x404300
bt edi, ecx
jae 0x404430
cmp dword [esp + 0x44], edx
ja 0x404410
cmp byte [esp + 0x54], 0
jne 0x404193
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x404402
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx eax, byte [edx]
jmp 0x404193
lea ecx, [edx + 1]
mov dword [esp + 0x48], ecx
movzx eax, byte [edx + 1]
mov edx, ecx
jmp 0x404193
mov ebp, dword [esp + 0x28]
xor eax, eax
nop
lea esi, [esi]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jne 0x4046f0
test al, al
jne 0x40486c
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x30], 0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x74]
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x24]
lea edx, [eax - 0x10]
mov dword [ebx + 0x24], edx
mov edx, dword [eax - 0x10]
mov dword [ebx], edx
mov edx, dword [eax - 0xc]
mov dword [ebx + 4], edx
mov edx, dword [eax - 8]
mov dword [ebx + 8], edx
mov edx, dword [eax - 4]
mov dword [ebx + 0xc], edx
xor edx, edx
mov word [eax - 2], dx
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0053ca50
call fcn.004572b0
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0045dc20
mov dword [esp], esi
call fcn.0045d860
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x404524
cmp eax, 0x11
mov edx, 0x53f236
ja 0x4044f5
mov edx, dword [eax*4 + 0x53f580]
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x34]
mov dword [esp], str._s__d_:__s_n
mov dword [esp + 8], eax
mov eax, dword [esp + 0x21d0]
mov dword [esp + 4], eax
call fcn.005098e0
add esp, 0x21bc
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp word [ebx + 0xe], 3
sete al
add esp, 0x21bc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], eax
call fcn.004562a0
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x21d0]
mov dword [esp + 4], str.unable_to_open__s:__s_n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.00509900
add esp, 0x21bc
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
add edx, 1
mov dword [esp + 0x48], edx
movzx ecx, byte [edx]
cmp cl, 0x2a
jne 0x404b14
cmp dword [esp + 0x44], edx
ja 0x40485a
cmp byte [esp + 0x54], 0
je 0x404968
test cl, cl
je 0x404a64
mov eax, dword [esp + 0x44]
cmp cl, 0x2a
mov dword [esp + 0x28], eax
jne 0x404852
cmp eax, edx
ja 0x4045d8
cmp byte [esp + 0x54], 0
je 0x4049c8
cmp eax, edx
mov dword [esp + 0x28], eax
jbe 0x4045c5
add edx, 1
mov dword [esp + 0x48], edx
movzx ecx, byte [edx]
cmp cl, 0x2f
jne 0x4045a8
cmp edx, dword [esp + 0x28]
jb 0x404840
cmp byte [esp + 0x54], 0
jne 0x4041ac
lea esi, [esi]
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x404658
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx eax, byte [edx]
lea ecx, [eax - 9]
cmp cl, 0x17
ja 0x4041a4
bt edi, ecx
jae 0x4041a4
cmp dword [esp + 0x44], edx
ja 0x404840
cmp byte [esp + 0x54], 0
jne 0x40465b
jmp 0x404600
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x404587
mov byte [edx + eax], 0
mov byte [esp + 0x54], 1
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
jmp 0x404587
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x60]
mov dword [ebx + 0x30], ecx
mov dword [esp + 0x64], eax
mov dword [ebx + 0x34], edx
jmp 0x404480
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov ecx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea edx, [ecx + eax - 1]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
jae 0x404287
mov byte [ecx + eax], 0
mov byte [esp + 0x54], 1
add dword [esp + 0x44], 1
mov ecx, dword [esp + 0x48]
jmp 0x404287
sub edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x70], 1
mov dword [ebx + 0x30], 1
add eax, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x74], eax
mov dword [ebx + 0x34], eax
mov dword [esp + 0x64], edx
jmp 0x404480
cmp ecx, edx
jae 0x40429c
lea edx, [ecx + 1]
mov dword [esp + 0x48], edx
movzx eax, byte [ecx + 1]
mov ecx, edx
jmp 0x4042a7
lea ecx, [edx + 1]
mov dword [esp + 0x48], ecx
movzx eax, byte [edx + 1]
mov edx, ecx
jmp 0x40435b
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x40482a
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx ecx, byte [edx]
mov dword [esp + 0x28], ebp
jmp 0x40402c
lea ecx, [edx + 1]
mov dword [esp + 0x48], ecx
movzx eax, byte [edx + 1]
mov edx, ecx
jmp 0x40465b
cmp edx, eax
jae 0x40459d
lea eax, [edx + 1]
mov dword [esp + 0x48], eax
movzx ecx, byte [edx + 1]
mov edx, eax
jmp 0x4045a8
sub edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x70], 2
mov dword [ebx + 0x30], 2
add eax, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x74], eax
mov dword [ebx + 0x34], eax
mov dword [esp + 0x64], edx
jmp 0x404480
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov ecx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea edx, [ecx + eax - 1]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
jae 0x4048f1
mov byte [ecx + eax], 0
add dword [esp + 0x44], 1
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx eax, byte [ecx]
jmp 0x4042a7
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], ecx
jae 0x4042dd
mov byte [edx + eax], 0
mov eax, dword [esp + 0x44]
mov byte [esp + 0x54], 1
mov edx, dword [esp + 0x48]
add eax, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], eax
jmp 0x4042dd
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x4049c0
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx ecx, byte [edx]
jmp 0x4045a8
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], ecx
jae 0x4045df
mov byte [edx + eax], 0
mov eax, dword [esp + 0x44]
mov byte [esp + 0x54], 1
mov edx, dword [esp + 0x48]
add eax, 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], eax
jmp 0x4045df
mov eax, ecx
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x70], 0x11
add eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
mov edx, dword [esp + 0x60]
mov dword [ebx + 0x30], 0x11
mov dword [ebx + 0x34], eax
mov dword [esp + 0x64], edx
jmp 0x404480
mov eax, edx
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x70], 0x11
add eax, dword [esp + 0x50]
mov dword [esp + 0x74], eax
jmp 0x404a4d
mov ebp, dword [esp + 0x28]
jmp 0x40435b
mov ebp, dword [esp + 0x28]
jmp 0x40465b
mov eax, dword [esp + 0x4c]
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
lea ecx, [edx + eax - 1]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ecx
jae 0x404ae6
mov byte [edx + eax], 0
add dword [esp + 0x44], 1
mov edx, dword [esp + 0x48]
mov byte [esp + 0x54], 1
movzx ecx, byte [edx]
mov dword [esp + 0x28], ebp
jmp 0x4041f8
cmp al, 0x2f
jne 0x404a37
cmp dword [esp + 0x44], ecx
jbe 0x404b3d
lea edx, [ecx + 1]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x48], edx
movzx ecx, byte [ecx + 1]
jmp 0x40402c
cmp cl, 0x2f
jne 0x404a64
cmp dword [esp + 0x44], edx
jbe 0x4041c1
lea eax, [edx + 1]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x48], eax
movzx ecx, byte [edx + 1]
mov edx, eax
jmp 0x4041f8
mov edx, ecx
jmp 0x403ffe