Function at 0x40d662
Capabilities:
Parse credit card information
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x82c
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
mov dword [ebx + 8], eax
add ebx, 0x28
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x840]
mov byte [ebx + 0x28], 0
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x14]
lea ecx, [edx + ecx - 0x2000]
cmp eax, ecx
jbe 0x40d724
mov ecx, dword [ebx]
test ecx, ecx
jne 0x40d6b1
mov dword [ebx + 0xc], eax
jmp 0x40d724
sub eax, edx
mov ebx, dword [esp + 0x840]
add eax, dword [ebx + 0x10]
mov dword [ebx + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp], ecx
call sub.msvcrt.dll__lseeki64
mov ecx, dword [ebx + 0x14]
inc ecx
mov edx, dword [ebx + 0xc]
mov edi, edx
mov al, 0
rep stosb byte es:[edi], al
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call sub.msvcrt.dll__read
test eax, eax
jle 0x40d70d
mov eax, dword [ebx + 0xc]
mov dword [ebx + 4], eax
jmp 0x40d724
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
mov byte [eax], 0
mov eax, 0
jmp 0x40f973
mov ebx, dword [esp + 0x840]
mov dword [esp], ebx
call fcn.0040c940
test eax, eax
jne 0x40f973
mov esi, dword [ebx + 4]
cmp byte [esi], 0
je 0x40f973
mov edi, 0x4675c8
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x40d7d6
mov byte [esp + 0x20], 0
mov edx, dword [ebx + 4]
mov al, byte [edx]
cmp al, 0x20
jbe 0x40d78b
mov ebx, 0
mov ecx, dword [esp + 0x840]
mov byte [esp + ebx + 0x20], al
inc ebx
lea eax, [edx + ebx]
mov dword [ecx + 4], eax
mov al, byte [edx + ebx]
cmp al, 0x20
ja 0x40d777
jmp 0x40d790
mov ebx, 0
mov byte [esp + ebx + 0x20], 0
cmp dword [0x463dc0], 0
je 0x40d7ae
lea eax, [esp + 0x20]
mov dword [esp], eax
call fcn.0040b184
test eax, eax
jne 0x40d7d6
lea eax, [esp + 0x20]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call sub.msvcrt.dll_strcpy
mov ecx, dword [esp + 0x840]
mov dword [ecx + 0x24], ebx
mov eax, 0x10a
jmp 0x40f973
mov ebx, dword [esp + 0x840]
mov dword [esp], ebx
call fcn.0040caa0
test eax, eax
jne 0x40d68b
mov dword [esp], ebx
call fcn.0040c940
test eax, eax
jne 0x40f973
mov ecx, dword [ebx + 4]
mov dl, byte [ecx]
test dl, dl
je 0x40f973
cmp dword [0x47e240], 0
je 0x40d85f
cmp dword [0x47eee8], 0
je 0x40d85f
lea eax, [edx - 0x27]
cmp al, 1
jbe 0x40d83b
cmp dl, 0x60
jne 0x40d830
cmp byte [ecx + 1], 0x28
jne 0x40d849
jmp 0x40d83b
cmp dl, 0x23
jne 0x40d849
cmp byte [ecx + 1], 0x28
jne 0x40d849
mov dword [esp], str.Lisp
call fcn.0040afb0
jmp 0x40d855
mov dword [esp], 0x46746c
call fcn.0040afb0
mov dword [0x47eee8], 0
mov ebx, dword [esp + 0x840]
mov dword [esp], ebx
call fcn.0040c940
test eax, eax
jne 0x40f973
mov edx, dword [ebx + 4]
cmp byte [edx], 0
je 0x40f973
mov dword [esp], str.Lisp
call fcn.0040af10
test eax, eax
je 0x40d8d5
mov eax, dword [ebx + 4]
mov dl, byte [eax]
cmp dl, 0x2d
je 0x40d8a1
cmp dl, 0x2b
jne 0x40d8e3
mov cl, byte [eax + 1]
movzx ebx, cl
sub ebx, 0x30
cmp ebx, 9
jbe 0x40d8b7
cmp cl, byte [0x47e22c]
jne 0x40d8f1
mov ecx, dword [esp + 0x14]
mov byte [ecx], dl
mov ebp, ecx
inc ebp
inc eax
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], eax
mov dword [esp + 0x10], 1
jmp 0x40d8fd
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x10], 0
jmp 0x40d8fd
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x10], 0
jmp 0x40d8fd
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x840]
mov ebx, dword [eax + 4]
mov dl, byte [ebx]
movzx eax, dl
sub eax, 0x30
cmp eax, 9
jbe 0x40d93a
cmp dl, byte [0x47e22c]
jne 0x40dd99
movzx eax, byte [ebx + 1]
sub eax, 0x30
cmp eax, 9
ja 0x40dd99
mov eax, ebx
mov esi, dword [esp + 0x10]
mov ecx, ebp
jmp 0x40d942
mov eax, ebx
mov esi, dword [esp + 0x10]
mov ecx, ebp
cmp dl, 0x30
je 0x40d95d
mov dl, byte [ebx]
mov byte [esp + 0x18], dl
movzx eax, dl
sub eax, 0x30
cmp eax, 9
jbe 0x40d9c1
jmp 0x40d9f3
movzx edx, byte [eax + 1]
sub edx, 0x30
cmp edx, 9
ja 0x40d947
mov byte [ecx], 0x30
inc ecx
lea edx, [eax + 1]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], edx
inc esi
mov al, byte [eax + 1]
lea ebx, [eax - 0x30]
cmp bl, 7
ja 0x40d99f
mov byte [ecx], al
inc ecx
inc edx
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], edx
inc esi
mov al, byte [edx]
lea ebx, [eax - 0x30]
cmp bl, 7
jbe 0x40d986
mov byte [ecx], 0
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x24], esi
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call fcn.0040d211
jmp 0x40f973
mov al, byte [esp + 0x18]
mov byte [ebp], al
inc ebp
inc ebx
mov edx, dword [esp + 0x840]
mov dword [edx + 4], ebx
inc dword [esp + 0x10]
mov cl, byte [ebx]
mov byte [esp + 0x18], cl
movzx eax, cl
sub eax, 0x30
cmp eax, 9
ja 0x40d9f3
cmp dword [esp + 0x10], 0xff
jle 0x40d9c1
movsx eax, byte [esp + 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_toupper
cmp eax, 0x58
jne 0x40dab3
mov edx, dword [esp + 0x840]
cmp byte [edx + 0x28], 0x30
jne 0x40dab3
mov cl, byte [esp + 0x18]
mov byte [ebp], cl
inc ebp
inc ebx
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x10]
inc ebx
mov edi, dword [sym.imp.msvcrt.dll___mb_cur_max]
mov esi, dword [sym.imp.msvcrt.dll__pctype]
jmp 0x40da55
mov edx, dword [esp + 0x840]
mov eax, dword [edx + 4]
mov dl, byte [eax]
mov byte [ebp], dl
inc ebp
inc eax
mov ecx, dword [esp + 0x840]
mov dword [ecx + 4], eax
inc ebx
mov edx, dword [esp + 0x840]
mov eax, dword [edx + 4]
movzx eax, byte [eax]
cmp dword [edi], 1
jne 0x40da74
mov edx, dword [esi]
movzx eax, word [edx + eax*2]
and eax, 0x80
jmp 0x40da84
mov dword [esp + 4], pe_nt_image_headers32
mov dword [esp], eax
call sub.msvcrt.dll__isctype
test eax, eax
je 0x40da90
cmp ebx, 0xff
jle 0x40da39
mov byte [ebp], 0
mov ecx, dword [esp + 0x840]
mov dword [ecx + 0x24], ebx
mov dword [esp + 4], 0x102
mov dword [esp], ecx
call fcn.0040d211
jmp 0x40f973
cmp eax, 0x42
jne 0x40db1b
mov edx, dword [esp + 0x840]
cmp byte [edx + 0x28], 0x30
jne 0x40db1b
dec ebp
lea eax, [ebx + 1]
mov dword [edx + 4], eax
mov dl, byte [ebx + 1]
lea ecx, [edx - 0x30]
cmp cl, 1
ja 0x40daf4
mov byte [ebp], dl
inc ebp
inc eax
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], eax
inc dword [esp + 0x10]
mov dl, byte [eax]
lea ecx, [edx - 0x30]
cmp cl, 1
jbe 0x40dad7
mov byte [ebp], 0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x24], eax
mov dword [esp + 4], 0x101
mov dword [esp], ebx
call fcn.0040d211
jmp 0x40f973
mov dl, byte [esp + 0x18]
cmp dl, byte [0x47e22c]
jne 0x40db4c
cmp dl, byte [ebx + 1]
jne 0x40f97e
mov byte [ebp], 0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x24], eax
mov eax, 0x104
jmp 0x40f973
cmp eax, 0x45
jne 0x40dc06
mov ebx, 0
jmp 0x40dc69
cmp dword [esp + 0x10], 0xff
jg 0x40db93
mov byte [ebp], al
inc ebp
inc edx
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], edx
inc dword [esp + 0x10]
mov al, byte [edx]
movzx ecx, al
sub ecx, 0x30
cmp ecx, 9
ja 0x40db93
cmp dword [esp + 0x10], 0x100
jne 0x40db69
cmp byte [edx - 1], 0x2e
jne 0x40dc48
cmp al, 0x20
jle 0x40dc4f
cmp al, 0x2c
je 0x40dc56
cmp al, 0x29
je 0x40dc5d
cmp al, 0x5d
je 0x40dc64
mov byte [esp + 0x20], 0
mov eax, dword [esp + 0x10]
dec eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
lea ebx, [esp + 0x20]
mov dword [esp], ebx
call sub.msvcrt.dll_strncpy
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x840]
mov dword [edx + 0x24], ecx
mov dword [esp + 8], 0x104
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.0040d03c
jmp 0x40f973
cmp byte [esp + 0x18], 0x4c
jne 0x40dc21
mov byte [ebp], 0x4c
inc ebp
inc ebx
mov eax, dword [esp + 0x840]
mov dword [eax + 4], ebx
inc dword [esp + 0x10]
mov byte [ebp], 0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x24], eax
mov dword [esp + 4], 0x104
mov dword [esp], ebx
call fcn.0040d211
jmp 0x40f973
mov ebx, 1
jmp 0x40dc69
mov ebx, 1
jmp 0x40dc69
mov ebx, 1
jmp 0x40dc69
mov ebx, 1
jmp 0x40dc69
mov ebx, 1
mov edx, dword [esp + 0x840]
mov esi, dword [edx + 4]
mov cl, byte [esi]
mov byte [esp + 0x14], cl
movsx eax, cl
mov dword [esp], eax
call sub.msvcrt.dll_toupper
cmp eax, 0x45
jne 0x40dd78
movzx eax, byte [esi + 2]
sub eax, 0x30
cmp eax, 9
ja 0x40dcbb
mov al, byte [esi + 1]
cmp al, 0x2d
je 0x40dca4
cmp al, 0x2b
jne 0x40dcbb
mov al, byte [esp + 0x14]
mov byte [ebp], al
inc ebp
inc esi
mov edx, dword [esp + 0x840]
mov dword [edx + 4], esi
inc dword [esp + 0x10]
mov eax, dword [esp + 0x840]
mov ecx, dword [eax + 4]
movzx eax, byte [ecx + 1]
sub eax, 0x30
cmp eax, 9
ja 0x40dd30
mov al, byte [ecx]
mov byte [ebp], al
lea eax, [ebp + 1]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], edx
mov cl, byte [ecx + 1]
movzx ebx, cl
sub ebx, 0x30
cmp ebx, 9
ja 0x40dd7a
mov ebx, dword [esp + 0x10]
inc ebx
cmp ebx, 0xff
jg 0x40dd7a
lea ebx, [ebp + 0x100]
sub ebx, dword [esp + 0x10]
mov byte [eax], cl
inc eax
inc edx
mov ecx, dword [esp + 0x840]
mov dword [ecx + 4], edx
mov cl, byte [edx]
movzx esi, cl
sub esi, 0x30
cmp esi, 9
ja 0x40dd7a
cmp eax, ebx
jne 0x40dd0f
jmp 0x40dd7a
mov byte [ebp], 0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x840]
mov dword [eax + 0x24], edx
cmp ebx, 1
jne 0x40dd5c
mov dword [esp + 4], 0x105
mov dword [esp], eax
call fcn.0040d211
jmp 0x40f973
mov dword [esp + 4], 0x104
mov ebx, dword [esp + 0x840]
mov dword [esp], ebx
call fcn.0040d211
jmp 0x40f973
mov eax, ebp
mov byte [eax], 0
mov dword [esp + 4], 0x105
mov ebx, dword [esp + 0x840]
mov dword [esp], ebx
call fcn.0040d211
jmp 0x40f973
mov edi, 0x46766d
mov ecx, 2
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb al
cmp cl, al
je 0x40f616
cmp dl, 0x2f
jne 0x40de15
lea edx, [ebx + 1]
mov eax, dword [esp + 0x840]
mov dword [eax + 4], edx
mov al, byte [ebx + 1]
test al, al
je 0x40de0b
cmp al, 0x2f
je 0x40f9ae
cmp al, 0x20
jle 0x40de0b
mov ecx, dword [esp + 0x840]
cmp al, 0x5c
jne 0x40ddef
cmp byte [edx + 1], 0x2f
jne 0x40ddef
inc edx
mov dword [ecx + 4], edx
mov eax, dword [ecx + 4]
lea edx, [eax + 1]
mov dword [ecx + 4], edx
mov al, byte [eax + 1]
test al, al
je 0x40de0b
cmp al, 0x2f
je 0x40f9ae
cmp al, 0x20
jg 0x40dde1
mov edx, dword [esp + 0x840]
mov dword [edx + 4], ebx
mov dword [esp], str.Lisp
call fcn.0040af10
test eax, eax
je 0x40de38
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
cmp byte [eax], 0x27
je 0x40f9bf
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
mov edi, 0x4675ed
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f9cd
mov dl, byte [eax]
cmp dl, 0x27
jne 0x40de82
mov dword [esp], ebx
call fcn.0040d2ed
mov dword [esp + 4], 0x106
mov dword [esp], ebx
call fcn.0040d211
jmp 0x40f973
mov edi, 0x4675e9
mov ecx, 3
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta bl
setb cl
cmp bl, cl
je 0x40f9db
cmp dl, 0x22
jne 0x40dec7
mov ebx, dword [esp + 0x840]
mov dword [esp], ebx
call fcn.0040d2ed
mov dword [esp + 4], 0x106
mov dword [esp], ebx
call fcn.0040d211
jmp 0x40f973
mov edi, 0x4675f1
mov ecx, 6
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f9e9
mov dword [esp], 0x467444
call fcn.0040af10
test eax, eax
je 0x40df17
mov ebx, dword [esp + 0x840]
mov esi, dword [ebx + 4]
mov edi, 0x4675f8
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f9f7
mov dword [esp], 0x46743f
call fcn.0040af10
test eax, eax
jne 0x40df47
mov dword [esp], 0x4674b5
call fcn.0040af10
test eax, eax
jne 0x40df47
mov dword [esp], str.Perl
call fcn.0040af10
test eax, eax
je 0x40df6b
mov ebx, dword [esp + 0x840]
mov esi, dword [ebx + 4]
mov edi, str.__EOF
mov ecx, 5
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40fa05
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
cmp byte [eax], 0x60
jne 0x40dfde
jmp 0x40dfb9
mov eax, dword [esp + 0x840]
mov edx, dword [eax + 4]
mov al, byte [edx]
mov byte [ebp], al
inc ebp
inc edx
mov eax, dword [esp + 0x840]
mov dword [eax + 4], edx
dec edi
jne 0x40df7c
mov eax, dword [esp + 0x14]
mov byte [ecx + esi], 0
mov ecx, dword [esp + 0x10]
lea edx, [ecx + ebx + 1]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x24], edx
jmp 0x40f973
mov byte [ebp], 0x60
inc eax
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], eax
mov byte [ebp + 1], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [ebx + 0x24], eax
mov eax, 0x60
jmp 0x40f973
mov dword [esp], str.Lisp
call fcn.0040af10
test eax, eax
je 0x40dffd
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
cmp byte [eax], 0x2c
je 0x40e00c
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
cmp byte [eax], 0x3f
jne 0x40e081
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
mov dl, byte [eax + 1]
cmp dl, 0x40
jne 0x40e04d
mov dl, byte [eax]
mov byte [ebp], dl
lea edx, [eax + 1]
mov dword [ebx + 4], edx
mov dl, byte [eax + 1]
mov byte [ebp + 1], dl
add eax, 2
mov dword [ebx + 4], eax
mov byte [ebp + 2], 0
mov eax, dword [esp + 0x10]
add eax, 2
mov dword [ebx + 0x24], eax
mov eax, 0x10f
jmp 0x40f973
test dl, dl
je 0x40e081
cmp dl, 0x20
je 0x40e081
cmp dl, 0x29
je 0x40e081
mov dl, byte [eax]
mov byte [ebp], dl
inc eax
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], eax
mov byte [ebp + 1], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [ebx + 0x24], eax
mov eax, 0x10e
jmp 0x40f973
mov dword [esp], str.Lisp
call fcn.0040af10
test eax, eax
jne 0x40f540
mov eax, dword [esp + 0x840]
mov ebx, dword [eax + 4]
mov dl, byte [ebx]
mov byte [esp + 0x18], dl
movsx eax, dl
mov dword [esp], eax
call fcn.0040c903
test eax, eax
jne 0x40e0e3
mov cl, byte [esp + 0x18]
mov byte [esp + 0x1f], cl
cmp cl, 0x40
je 0x40e0e3
cmp cl, 0x23
je 0x40e0e3
cmp cl, 0x26
jne 0x40ee08
movsx eax, byte [ebx + 1]
mov dword [esp], eax
call fcn.0040c903
test eax, eax
je 0x40ee08
mov al, byte [esp + 0x18]
mov byte [ebp], al
inc ebp
inc ebx
mov edx, dword [esp + 0x840]
mov dword [edx + 4], ebx
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x18], edi
mov edi, edx
jmp 0x40e17f
cmp byte [esp + 0x10], 0x3f
je 0x40e117
cmp byte [esp + 0x10], 0x21
jne 0x40e134
mov edi, dword [esp + 0x18]
jmp 0x40e11b
mov edi, dword [esp + 0x18]
mov bl, byte [esp + 0x10]
mov byte [ebp], bl
inc ebp
inc esi
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], esi
inc edi
jmp 0x40e1fd
cmp byte [esp + 0x10], 0x5b
jne 0x40e16e
cmp dword [esp + 0x18], 0xff
jg 0x40e16e
mov edx, dword [esp + 0x18]
mov al, byte [esp + 0x10]
mov byte [ebp], al
inc ebp
inc esi
mov dword [edi + 4], esi
inc edx
mov al, byte [esi]
cmp al, 0x5d
je 0x40e16a
cmp edx, 0x100
jne 0x40e14d
mov dword [esp + 0x18], edx
jmp 0x40e16e
mov dword [esp + 0x18], edx
mov eax, dword [edi + 4]
mov dl, byte [eax]
mov byte [ebp], dl
inc ebp
inc eax
mov dword [edi + 4], eax
inc dword [esp + 0x18]
mov esi, dword [edi + 4]
mov bl, byte [esi]
mov byte [esp + 0x10], bl
movsx ebx, bl
mov dword [esp], ebx
call fcn.0040c903
test eax, eax
jne 0x40e103
mov dword [esp], ebx
call fcn.0040c8f3
test eax, eax
jne 0x40e103
cmp byte [esp + 0x10], 0x2e
je 0x40fa21
cmp byte [esp + 0x10], 0x5b
je 0x40fa21
cmp byte [esp + 0x10], 0x3f
je 0x40fa2f
cmp byte [esp + 0x10], 0x21
je 0x40fa21
mov dword [esp], 0x467444
call fcn.0040af10
test eax, eax
je 0x40e1f9
mov eax, dword [edi + 4]
cmp byte [eax], 0x3a
je 0x40fa21
mov edi, dword [esp + 0x18]
jmp 0x40e1fd
mov edi, dword [esp + 0x18]
mov byte [ebp], 0
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x24], edi
mov dword [esp], 0x467425
call fcn.0040af10
test eax, eax
je 0x40e235
mov edi, 0x467720
mov ecx, 2
mov esi, dword [esp + 0x14]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40e25f
mov dword [esp], 0x467425
call fcn.0040af10
test eax, eax
jne 0x40e2bb
mov edi, 0x467722
mov ecx, 2
mov esi, dword [esp + 0x14]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x40e2bb
mov dword [0x463dc0], 0
mov eax, dword [esp + 0x840]
mov ebx, dword [eax + 4]
mov dword [esp], eax
call fcn.0040d662
cmp eax, 0x134
jne 0x40e299
mov ebx, dword [esp + 0x840]
mov byte [ebx + 0x28], 0
mov dword [ebx + 0x24], 0
jmp 0x40d68b
mov dword [0x463dc0], 1
mov eax, dword [esp + 0x840]
mov dword [eax + 4], ebx
mov byte [ebp], 0
mov eax, 0xffffffff
jmp 0x40f973
mov dword [esp], 0x46746c
call fcn.0040af10
test eax, eax
je 0x40e2ed
mov dword [esp + 4], 0x467724
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eee0]
test eax, eax
je 0x40f620
jmp 0x40e9f0
mov dword [esp], 0x46742b
call fcn.0040af10
test eax, eax
je 0x40e3a4
mov dword [esp + 4], str.global
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eee0]
test eax, eax
je 0x40f62a
mov dword [esp + 4], 0x467724
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f634
mov dword [esp + 4], 0x46772f
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f63e
mov dword [esp + 4], str.then
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f648
mov dword [esp + 4], 0x467739
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f652
mov dword [esp + 4], str.isnt
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f65c
jmp 0x40e9f0
mov dword [esp], str.Python
call fcn.0040af10
test eax, eax
je 0x40e4ca
mov dword [esp + 4], 0x467741
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x47eee0]
test eax, eax
je 0x40f666
mov dword [esp + 8], 4
mov dword [esp + 4], str.def.
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eedc]
test eax, eax
je 0x40f670
mov dword [esp + 4], str.global
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eee0]
test eax, eax
je 0x40f67a
mov dword [esp + 4], 0x467724
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f684
mov dword [esp + 4], 0x46772f
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f68e
mov dword [esp + 4], str.then
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f698
mov dword [esp + 4], 0x467739
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f6a2
mov edi, str.self:
mov ecx, 5
mov esi, dword [esp + 0x14]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40e4b7
mov edi, str.self.
mov ecx, 5
mov esi, dword [esp + 0x14]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x40e9f0
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x28], 0x73696874
jmp 0x40e9f0
mov dword [esp], 0x46743f
call fcn.0040af10
test eax, eax
je 0x40e5aa
mov dword [esp + 4], 0x467741
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x47eee0]
test eax, eax
je 0x40f6ac
mov dword [esp + 8], 4
mov dword [esp + 4], str.def.
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eedc]
test eax, eax
je 0x40f6b6
mov dword [esp + 4], 0x467724
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eee0]
test eax, eax
je 0x40f6c0
mov dword [esp + 4], 0x467756
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f6ca
mov dword [esp + 4], str.then
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f6d4
mov dword [esp + 4], 0x46775a
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f6de
mov dword [esp + 4], 0x46772f
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f6e8
jmp 0x40e9f0
mov dword [esp], 0x467444
call fcn.0040af10
test eax, eax
je 0x40e6b7
mov dword [esp + 4], 0x467741
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x47eee0]
test eax, eax
je 0x40f6f2
mov dword [esp + 8], 4
mov dword [esp + 4], str.def.
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eedc]
test eax, eax
je 0x40f6fc
mov dword [esp + 4], 0x467756
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eee0]
test eax, eax
je 0x40f706
mov dword [esp + 4], 0x46775f
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f710
mov dword [esp + 4], str.then
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f71a
mov dword [esp + 4], 0x467765
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f724
mov edi, str.self:
mov ecx, 5
mov esi, dword [esp + 0x14]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40e6a4
mov edi, str.self.
mov ecx, 5
mov esi, dword [esp + 0x14]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x40e9f0
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x28], 0x73696874
jmp 0x40e9f0
mov dword [esp], str.Perl
call fcn.0040af10
test eax, eax
je 0x40e74c
mov dword [esp + 4], 0x46776a
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x47eee0]
test eax, eax
je 0x40f72e
mov dword [esp + 8], 4
mov dword [esp + 4], str.sub.
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eedc]
test eax, eax
je 0x40f738
mov dword [esp + 4], 0x46775f
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eee0]
test eax, eax
je 0x40f742
mov dword [esp + 4], 0x467773
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f74c
jmp 0x40e9f0
mov dword [esp], 0x46741e
call fcn.0040af10
test eax, eax
je 0x40e898
mov dword [esp + 4], str.program
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x47eee0]
test eax, eax
je 0x40f756
mov dword [esp + 4], str.procedure
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eee0]
test eax, eax
je 0x40f760
mov dword [esp + 8], 8
mov dword [esp + 4], str.program.
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eedc]
test eax, eax
je 0x40f76a
mov dword [esp + 8], 0xa
mov dword [esp + 4], str.procedure.
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eedc]
test eax, eax
je 0x40f774
mov dword [esp + 4], 0x46779c
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f77e
mov dword [esp + 4], 0x467756
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f788
mov dword [esp + 4], 0x467724
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f792
mov dword [esp + 4], 0x4677a2
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f79c
mov dword [esp + 4], str.then
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f7a6
mov dword [esp + 4], 0x46772f
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f7b0
mov dword [esp + 4], 0x4677a5
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f7ba
jmp 0x40e9f0
mov dword [esp], 0x467425
call fcn.0040af10
test eax, eax
je 0x40e9f0
mov dword [esp + 4], 0x46776a
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x47eee0]
test eax, eax
je 0x40f7c4
mov dword [esp + 8], 4
mov dword [esp + 4], str.sub.
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eedc]
test eax, eax
je 0x40f7ce
mov dword [esp + 4], 0x467756
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eee0]
test eax, eax
je 0x40f7d8
mov dword [esp + 4], 0x4677a8
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f7e2
mov dword [esp + 4], 0x4677ac
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f7ec
mov dword [esp + 4], 0x4677b0
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f7f6
mov dword [esp + 4], str.then
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f800
mov dword [esp + 4], 0x4677a5
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f80a
mov dword [esp + 4], str.step
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f814
mov dword [esp + 4], 0x4677bc
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f81e
mov dword [esp + 4], 0x4677c1
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f828
mov dword [esp + 4], 0x4677c4
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f832
mov dword [esp + 4], 0x4677c9
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call dword [0x47eee0]
test eax, eax
je 0x40f83c
mov dword [esp + 8], 9
mov dword [esp + 4], str.function.
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call dword [0x47eedc]
test eax, eax
je 0x40f846
mov dword [esp + 8], 6
mov dword [esp + 4], 0x4677dc
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call dword [0x47eedc]
test eax, eax
je 0x40f850
mov dword [esp + 8], 5
mov dword [esp + 4], str.defn.
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call dword [0x47eedc]
test eax, eax
je 0x40f85a
mov dword [esp + 4], 0x4677e9
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f864
mov dword [esp + 4], 0x4677ef
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f86e
mov dword [esp + 4], 0x4677f2
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f878
mov dword [esp + 4], 0x4677f5
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f882
mov dword [esp + 4], 0x4677f9
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f88c
mov dword [esp + 4], 0x467765
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f896
mov dword [esp + 4], 0x4677fc
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8a0
mov dword [esp + 4], str.elseif
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8aa
mov dword [esp + 4], 0x467809
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8b4
mov dword [esp + 4], 0x46780e
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8be
mov dword [esp + 4], 0x46775a
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8c8
mov dword [esp + 4], 0x467815
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8d2
mov dword [esp + 4], 0x4677c1
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8dc
mov dword [esp + 4], 0x46781d
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8e6
mov dword [esp + 4], 0x467823
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8f0
mov dword [esp + 4], 0x467827
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8f7
mov dword [esp + 4], 0x46782a
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f8fe
mov dword [esp + 4], str.break
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f905
mov dword [esp + 4], str.continue
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f90c
mov dword [esp + 4], str.return
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f913
mov dword [esp + 4], 0x467848
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f91a
mov dword [esp + 4], 0x46784c
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f921
mov dword [esp + 4], 0x46784f
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f928
mov dword [esp + 4], 0x467853
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f92f
mov dword [esp + 4], 0x467857
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f936
mov dword [esp + 4], str.typeof
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f93d
mov dword [esp + 4], str.instanceof
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f944
mov dword [esp + 4], 0x46786f
mov dword [esp], ebx
call dword [0x47eee0]
test eax, eax
je 0x40f94b
mov dword [esp], 0x46741e
call fcn.0040af10
test eax, eax
jne 0x40ed58
mov dword [esp], 0x467425
call fcn.0040af10
test eax, eax
je 0x40ed88
mov dword [esp + 4], 0x467877
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.0042bdb5
test eax, eax
je 0x40edd2
mov dword [esp + 4], 0x46787c
mov edx, dword [esp + 0x14]
mov dword [esp], edx
call fcn.0042bdb5
test eax, eax
je 0x40edd2
mov dword [esp], str.Python
call fcn.0040af10
test eax, eax
je 0x40f952
mov edi, str.True
mov ecx, 5
mov esi, dword [esp + 0x14]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40edd2
mov dword [esp + 4], str.False
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
call fcn.0042bdb5
test eax, eax
jne 0x40f959
mov ebx, dword [esp + 0x840]
mov al, byte [ebx + 0x28]
test al, al
je 0x40f960
mov ebx, dword [esp + 0x14]
cbw
movzx eax, ax
mov dword [esp], eax
call sub.msvcrt.dll_towlower
mov byte [ebx], al
inc ebx
mov al, byte [ebx]
test al, al
jne 0x40ede8
mov eax, 0x10a
jmp 0x40f973
mov edi, 0x46788d
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f253
mov edi, 0x467891
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f264
mov edi, 0x467895
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f275
mov edi, 0x467899
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f286
mov edi, 0x46789d
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f297
mov edi, 0x4678a1
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f2a8
mov edi, 0x4678a5
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f2b9
mov edi, 0x4678a9
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f2ca
mov edi, 0x4678ad
mov ecx, 3
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x40ef25
mov dword [esp], 0x467444
call fcn.0040af10
test eax, eax
je 0x40f2db
mov edx, ebp
mov ecx, 3
mov eax, 0x158
jmp 0x40f464
mov edi, 0x4678b1
mov ecx, 2
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f2ec
mov edi, 0x4678b4
mov ecx, 2
mov esi, ebx
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f2fd
mov dword [esp], 0x467444
call fcn.0040af10
test eax, eax
je 0x40ef92
mov ebx, dword [esp + 0x840]
mov esi, dword [ebx + 4]
dec esi
mov edi, 0x4678b7
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f30e
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
mov edi, 0x4678ba
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f31f
mov edi, 0x4678bd
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f330
mov edi, 0x4678c0
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f341
mov edi, 0x4678c3
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f352
mov edi, 0x4678c6
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f363
mov edi, 0x4678c9
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f374
mov edi, 0x4678cc
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f385
mov edi, 0x4678cf
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f396
mov edi, 0x4678d2
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f3a7
mov edi, 0x4678d5
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f3b8
mov edi, 0x4678d8
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f3c9
mov edi, 0x4678db
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f3da
mov edi, 0x4678de
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f3e8
mov edi, 0x4678e1
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f3f6
mov edi, 0x4678e4
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f404
mov edi, 0x4678e7
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f412
mov edi, 0x4678ea
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f420
mov edi, 0x4678ed
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta cl
setb dl
cmp cl, dl
je 0x40f42e
mov edi, 0x4678f0
mov ecx, 2
mov esi, eax
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f43c
mov dword [esp], 0x46741e
call fcn.0040af10
test eax, eax
je 0x40f1dd
mov esi, dword [ebx + 4]
mov edi, 0x4678f3
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f44a
mov dword [esp], 0x46743f
call fcn.0040af10
test eax, eax
je 0x40f211
mov ebx, dword [esp + 0x840]
mov esi, dword [ebx + 4]
mov edi, 0x4678f6
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
je 0x40f458
call fcn.0040b107
test eax, eax
je 0x40fa3e
mov ebx, dword [esp + 0x840]
mov esi, dword [ebx + 4]
mov edi, 0x4678f9
mov ecx, 2
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
jne 0x40fa3e
mov edx, ebp
mov ecx, 2
mov eax, 0x13a
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x11b
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x11d
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x120
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x131
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x12c
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x12d
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x119
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x129
jmp 0x40f464
mov edx, ebp
mov ecx, 3
mov eax, 0x116
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x11a
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x11c
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x11c
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x11e
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x11f
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x117
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x118
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x126
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x127
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x128
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x12a
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x12b
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x12e
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x12f
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x130
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x115
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x113
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x111
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x112
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x122
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x123
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x109
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x125
jmp 0x40f464
mov edx, ebp
mov ecx, 2
mov eax, 0x121
lea edi, [ecx - 1]
mov esi, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x840]
mov ebx, dword [eax + 4]
mov al, byte [ebx]
mov byte [ebp], al
inc ebp
inc ebx
mov eax, dword [esp + 0x840]
mov dword [eax + 4], ebx
dec ecx
jne 0x40f46d
mov eax, dword [esp + 0x14]
mov byte [edx + esi], 0
mov ebx, dword [esp + 0x10]
lea edx, [ebx + edi + 1]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 0x24], edx
jmp 0x40f973
cmp byte [esp + 0x18], 0x5c
jne 0x40f4ed
mov eax, dword [esp + 0x840]
mov ebx, dword [eax + 4]
mov dword [esp], eax
call fcn.0040d662
cmp eax, 0x134
jne 0x40f4e1
mov ebx, dword [esp + 0x840]
mov byte [ebx + 0x28], 0
mov dword [ebx + 0x24], 0
jmp 0x40d68b
mov eax, dword [esp + 0x840]
mov dword [eax + 4], ebx
jmp 0x40f51b
mov al, byte [esp + 0x1f]
cmp al, 0x21
je 0x40f967
cmp al, 0x3d
jne 0x40f51b
mov dword [esp], 0x46741e
call fcn.0040af10
cmp eax, 1
sbb eax, eax
and eax, 0xb
add eax, 0x11a
jmp 0x40f973
mov dword [esp], 0x467444
call fcn.0040af10
test eax, eax
je 0x40f536
cmp byte [esp + 0x1f], 0x5e
je 0x40f96e
movzx eax, byte [esp + 0x1f]
jmp 0x40f973
mov ebx, dword [esp + 0x840]
mov edx, dword [ebx + 4]
mov al, byte [edx]
cmp al, 0x5b
je 0x40f56e
cmp al, 0x5b
ja 0x40f562
cmp al, 0x28
jb 0x40f5b4
cmp al, 0x29
jbe 0x40f56e
cmp al, 0x2c
jne 0x40f5b4
jmp 0x40f590
cmp al, 0x7b
je 0x40f56e
cmp al, 0x7d
je 0x40f56e
cmp al, 0x5d
jne 0x40f5b4
mov byte [ebp], al
inc edx
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], edx
mov byte [ebp + 1], 0
mov edx, dword [esp + 0x10]
inc edx
mov dword [ebx + 0x24], edx
movzx eax, al
jmp 0x40f973
mov byte [ebp], al
inc edx
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], edx
mov byte [ebp + 1], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [ebx + 0x24], eax
mov eax, 0x10a
jmp 0x40f973
cmp al, 0x23
jne 0x40f5f2
cmp byte [edx + 1], 0x28
jne 0x40f5f2
mov byte [ebp], al
lea eax, [edx + 1]
mov ebx, dword [esp + 0x840]
mov dword [ebx + 4], eax
mov al, byte [edx + 1]
mov byte [ebp + 1], al
add edx, 2
mov dword [ebx + 4], edx
mov byte [ebp + 2], 0
mov eax, dword [esp + 0x10]
add eax, 2
mov dword [ebx + 0x24], eax
mov eax, 0x110
jmp 0x40f973
mov dword [esp + 8], 0x10a
mov dword [esp + 4], 0x467601
mov ebx, dword [esp + 0x840]
mov dword [esp], ebx
call fcn.0040d03c
jmp 0x40f973
mov eax, 0x108
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x13d
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x148
jmp 0x40f973
mov eax, 0x140
jmp 0x40f973
mov eax, 0x11b
jmp 0x40f973
mov eax, 0x11d
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x13d
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x148
jmp 0x40f973
mov eax, 0x140
jmp 0x40f973
mov eax, 0x11b
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x136
jmp 0x40f973
mov eax, 0x140
jmp 0x40f973
mov eax, 0x145
jmp 0x40f973
mov eax, 0x148
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x136
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x140
jmp 0x40f973
mov eax, 0x141
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x135
jmp 0x40f973
mov eax, 0x136
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x149
jmp 0x40f973
mov eax, 0x140
jmp 0x40f973
mov eax, 0x148
jmp 0x40f973
mov eax, 0x14f
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x136
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x13e
jmp 0x40f973
mov eax, 0x147
jmp 0x40f973
mov eax, 0x140
jmp 0x40f973
mov eax, 0x14f
jmp 0x40f973
mov eax, 0x150
jmp 0x40f973
mov eax, 0x151
jmp 0x40f973
mov eax, 0x14a
jmp 0x40f973
mov eax, 0x14d
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x139
jmp 0x40f973
mov eax, 0x13b
jmp 0x40f973
mov eax, 0x138
jmp 0x40f973
mov eax, 0x13b
jmp 0x40f973
mov eax, 0x13c
jmp 0x40f973
mov eax, 0x13f
jmp 0x40f973
mov eax, 0x141
jmp 0x40f973
mov eax, 0x141
jmp 0x40f973
mov eax, 0x141
jmp 0x40f973
mov eax, 0x142
jmp 0x40f973
mov eax, 0x144
jmp 0x40f973
mov eax, 0x145
jmp 0x40f973
mov eax, 0x146
jmp 0x40f973
mov eax, 0x14a
jmp 0x40f973
mov eax, 0x14b
jmp 0x40f973
mov eax, 0x14e
jmp 0x40f973
mov eax, 0x152
jmp 0x40f973
mov eax, 0x153
jmp 0x40f973
mov eax, 0x154
jmp 0x40f973
mov eax, 0x155
jmp 0x40f973
mov eax, 0x156
jmp 0x40f973
mov eax, 0x122
jmp 0x40f973
mov eax, 0x123
jmp 0x40f973
mov eax, 0x124
jmp 0x40f973
mov eax, 0x157
jmp 0x40f973
mov eax, 0x137
jmp 0x40f973
mov eax, 0x132
jmp 0x40f973
mov eax, 0x133
jmp 0x40f973
mov eax, 0x15a
jmp 0x40f973
mov eax, 0x10a
jmp 0x40f973
mov eax, 0x10a
jmp 0x40f973
mov eax, 0x10a
jmp 0x40f973
mov eax, 0x124
jmp 0x40f973
mov eax, 0x113
add esp, 0x82c
pop ebx
pop esi
pop edi
pop ebp
ret
mov al, byte [esp + 0x18]
mov byte [ebp], al
inc ebp
lea edx, [ebx + 1]
mov ecx, dword [esp + 0x840]
mov dword [ecx + 4], edx
inc dword [esp + 0x10]
mov al, byte [ebx + 1]
movzx ecx, al
sub ecx, 0x30
cmp ecx, 9
jbe 0x40db5f
jmp 0x40db93
mov eax, dword [esp + 0x840]
mov dword [eax + 4], ebx
mov eax, 0x108
jmp 0x40f973
mov ecx, ebp
mov edx, 1
mov eax, 0x10c
jmp 0x40fa11
mov ecx, ebp
mov edx, 3
mov eax, 0x107
jmp 0x40fa11
mov ecx, ebp
mov edx, 3
mov eax, 0x107
jmp 0x40fa11
mov ecx, ebp
mov edx, 6
mov eax, 0x107
jmp 0x40fa11
mov ecx, ebp
mov edx, 2
mov eax, 0x107
jmp 0x40fa11
mov ecx, ebp
mov edx, 5
mov eax, 0x107
lea ebx, [edx - 1]
mov esi, edx
mov edi, edx
mov dword [esp + 0x14], eax
jmp 0x40df7c
mov esi, dword [edi + 4]
mov bl, byte [esi]
mov byte [esp + 0x10], bl
jmp 0x40e10a
mov edi, dword [esp + 0x18]
mov bl, byte [esi]
mov byte [esp + 0x10], bl
jmp 0x40e11b
mov ebx, dword [esp + 0x840]
mov eax, dword [ebx + 4]
mov dl, byte [eax]
mov byte [ebp], dl
inc eax
mov dword [ebx + 4], eax
mov byte [ebp + 1], 0
mov eax, dword [esp + 0x10]
inc eax
mov dword [ebx + 0x24], eax
mov dword [esp], 0x467425
call fcn.0040af10
test eax, eax
je 0x40f4aa
mov al, byte [esp + 0x1f]
jmp 0x40f4f1