Function at 0x43ece0
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xacc
push ebx
mov bl, byte [ebp + 0x74]
push esi
push edi
mov edi, dword [ebp + 0x70]
mov esi, ecx
mov ecx, edi
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x64], ebx
mov byte [ebp + 0x62], bl
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ed04
sub ecx, edx
sar ecx, 1
mov dword [ebp + 0x44], ecx
test bl, bl
je 0x43edc8
xor eax, eax
mov ebx, edi
mov word [ebp - 0x264], ax
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x63], al
mov eax, dword [ebp + 0x64]
cmp al, 0xa
jne 0x43ed88
mov edi, ebx
test ebx, ebx
je 0x43ed88
movzx eax, word [ebx]
test ax, ax
je 0x43ed85
mov esi, eax
nop word [eax + eax]
mov ecx, str.__t_____:________n.
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x43f8c6
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x43ed60
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x43ed50
mov eax, dword [ebp + 0x64]
mov cl, byte [ebp + 0x63]
movzx edi, al
mov dl, cl
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
mov edx, dword [ebp + 0x44]
lea eax, [edi - 9]
mov byte [ebp + 0x62], cl
mov dword [ebp + 0x54], 0
cmp eax, 0x12
ja case.0x43edc1.13
movzx eax, byte [eax + 0x440188]
mov dl, cl
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
mov edx, dword [ebp + 0x44]
jmp dword [eax*4 + 0x440174]
push 6
push str.global
push edi
call fcn.0049f5c2
add esp, 0xc
test eax, eax
jne 0x43ede1
lea ebx, [eax + 0x41]
jmp 0x43ee1a
push 5
push str.local
push edi
call fcn.0049f5c2
add esp, 0xc
test eax, eax
jne 0x43edfd
lea ebx, [eax + 0x42]
lea eax, [ebx - 0x38]
jmp 0x43ee1f
push 6
push 0x4d21bc
push edi
call fcn.0049f5c2
add esp, 0xc
test eax, eax
jne 0x43f284
mov ebx, 0x62
mov eax, 0xc
add edi, eax
mov dword [ebp + 0x50], ebx
movzx eax, word [edi]
test ax, ax
je 0x43f22f
cmp eax, 0x20
je 0x43ee40
cmp eax, 9
jne 0x43f281
nop
cmp ax, 0x20
je 0x43ee4c
cmp ax, 9
jne 0x43ee55
movzx eax, word [edi + 2]
add edi, 2
jmp 0x43ee40
test ax, ax
je 0x43f22f
cmp ax, 0x7f
ja 0x43ee7e
movzx eax, ax
push eax
call fcn.004a3770
add esp, 4
test eax, eax
jne 0x43ee7e
cmp word [edi], 0x5f
jne 0x43f281
mov eax, dword [0x4e4788]
cmp dword [eax + 0x18], 0
jne 0x43ee92
test bl, 2
jne 0x43f262
cmp word [edi], 0
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x73], 0
je 0x43f24d
mov eax, ebx
and eax, 1
mov dword [ebp + 0x44], eax
nop
lea esi, [edi + 2]
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43eece
push eax
call fcn.004a3770
add esp, 4
test eax, eax
jne 0x43eece
cmp word [esi], 0x5f
jne 0x43eed3
add esi, 2
jmp 0x43eeb3
mov ebx, esi
xor edx, edx
sub ebx, edi
mov dword [ebp + 0x74], edx
sar ebx, 1
cmp dword [ebp + 0x44], edx
je 0x43eefd
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x58]
push ebx
push edi
call fcn.00443e20
mov edx, eax
mov dword [ebp + 0x74], edx
test edx, edx
je 0x43f00f
mov ecx, dword [0x4e4788]
cmp dword [ecx + 0x18], 0
je 0x43efe0
lea eax, [ebp + 0x78]
mov dword [ebp + 0x78], 1
push eax
lea eax, [ebp + 0x54]
test edx, edx
push eax
lea eax, [ebp + 0x40]
mov ecx, 0x22
push eax
mov eax, dword [ebp + 0x50]
cmovne eax, ecx
mov ecx, dword [ebp + 0x58]
push eax
push ebx
push edi
call fcn.00443ec0
mov ecx, eax
test ecx, ecx
jne 0x43efcd
cmp dword [ebp + 0x78], eax
je 0x43f00f
cmp dword [ebp + 0x74], eax
je 0x43eff4
mov ebx, dword [ebp + 0x40]
mov edx, dword [ebp + 0x54]
mov dword [ebp + 0x48], edx
mov eax, dword [ebx + 8]
cmp dword [ebx + 4], eax
jne 0x43ef96
test eax, eax
je 0x43ef6d
add eax, eax
jmp 0x43ef72
mov eax, 0x20
mov dword [ebp + 0x3c], eax
shl eax, 2
push eax
push dword [ebx]
call fcn.0049f568
add esp, 8
test eax, eax
je 0x43f1a3
mov edx, dword [ebp + 0x48]
mov dword [ebx], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebx + 8], eax
mov ecx, dword [ebx + 4]
lea eax, [edx*4]
mov dword [ebp + 0x3c], eax
cmp edx, ecx
je 0x43efbf
mov eax, dword [ebx]
sub ecx, edx
shl ecx, 2
push ecx
lea eax, [eax + edx*4]
push eax
add eax, 4
push eax
call fcn.0049d080
add esp, 0xc
mov eax, dword [ebx]
mov edx, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x74]
mov dword [edx + eax], ecx
inc dword [ebx + 4]
mov ebx, dword [ebp + 0x58]
movzx eax, byte [ecx + 0x16]
mov edx, dword [ebp + 0x50]
cmp eax, edx
jne 0x43f1c5
nop
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x43efef
cmp eax, 9
jne 0x43f021
add esi, 2
jmp 0x43efe0
push dword [ebp + 0x50]
push dword [ebp + 0x54]
push dword [ebp + 0x40]
push ebx
mov ebx, dword [ebp + 0x58]
mov ecx, ebx
push edi
call fcn.004445f0
mov ecx, eax
test ecx, ecx
jne 0x43efd0
xor eax, eax
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
test cx, cx
je 0x43f155
cmp ecx, 0x2c
je 0x43f18e
cmp eax, 0x3a
jne 0x43f044
cmp word [esi + 2], 0x3d
jne 0x43f044
add esi, 4
jmp 0x43f0a8
push eax
push str.__.
call fcn.0049cfcf
add esp, 8
test eax, eax
je 0x43f05d
cmp word [esi + 2], 0x3d
je 0x43f0a8
movzx eax, word [esi]
push eax
push 0x4d7a58
call fcn.0049cfcf
add esp, 8
test eax, eax
je 0x43f211
movzx ecx, word [esi]
cmp word [esi + 2], cx
jne 0x43f211
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x43f0a8
cmp ecx, 0x3e
jne 0x43f211
cmp eax, ecx
jne 0x43f211
cmp word [esi + 6], 0x3d
jne 0x43f211
push 0
push 0
mov edx, 0x2c
mov ecx, esi
call fcn.00483ed0
add esp, 8
mov ecx, edi
lea esi, [esi + eax*2]
lea edx, [esi - 2]
call fcn.004138f0
mov ebx, eax
movzx eax, word [ebx + 2]
mov dword [ebp + 0x74], eax
xor eax, eax
mov word [ebx + 2], ax
cmp dword [ebp + 0x5c], eax
je 0x43f0fb
cmp byte [ebp + 0x73], al
jne 0x43f0fb
mov ecx, dword [ebp + 0x58]
push eax
push eax
push eax
push eax
push 3
call fcn.00440240
test eax, eax
je 0x43f00f
mov byte [ebp + 0x73], 1
cmp dword [ebp + 0x50], 0x62
mov ecx, dword [ebp + 0x58]
setne al
dec al
push 0
and al, 5
push 0
movzx eax, al
push eax
push edi
call fcn.0043ece0
test eax, eax
je 0x43f00f
mov eax, dword [ebp + 0x74]
mov word [ebx + 2], ax
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x2c
jne 0x43f145
lea edi, [esi + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x43f140
cmp eax, 9
jne 0x43f149
add edi, 2
jmp 0x43f133
mov edi, esi
mov eax, ecx
movzx eax, ax
test ax, ax
jne 0x43eeb0
cmp byte [ebp + 0x73], 0
je 0x43f24d
mov ecx, dword [ebp + 0x58]
push 0
push 0
push 0
push 0
push 4
call fcn.00440240
test eax, eax
je 0x43f00f
mov eax, 1
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
lea edi, [esi + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x43f19e
cmp eax, 9
jne 0x43f14c
add edi, 2
jmp 0x43f191
mov ecx, dword [ebp + 0x58]
push 0x4cee98
push str.Out_of_memory.
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
test dl, 2
je 0x43f1f3
test dl, 0x20
mov eax, 0x4d21bc
mov edx, str.local
push ecx
cmove eax, edx
mov ecx, ebx
push eax
call fcn.0040d880
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push ecx
mov eax, str.global
mov ecx, ebx
push eax
call fcn.0040d880
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x58]
push edi
push str.Invalid_variable_declaration.
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp ebx, 0x42
je 0x43f262
cmp byte [esi + 0x54], 0
jne 0x43f242
mov eax, dword [esi + 0x50]
cmp eax, dword [esi + 4]
jne 0x43f262
mov eax, dword [0x4e4788]
mov eax, dword [eax + 0x18]
mov byte [eax + 0x76], bl
mov eax, 1
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push dword [ebp + 0x70]
mov ecx, esi
push str.Unexpected_declaration.
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov edi, dword [ebp + 0x70]
movzx eax, word [edi]
cmp eax, 0x7f
ja 0x43f29f
push eax
call fcn.004a3770
add esp, 4
test eax, eax
jne 0x43f29f
cmp word [edi], 0x5f
jne 0x43f2a4
add edi, 2
jmp 0x43f284
mov ecx, dword [ebp + 0x70]
mov esi, edi
sub esi, ecx
mov dword [ebp + 0x5c], edi
sar esi, 1
je 0x43f324
cmp esi, 0xfd
ja 0x43f324
push esi
push ecx
lea eax, [ebp - 0x264]
push eax
call fcn.004aaa44
add esp, 0xc
mov ebx, edi
xor eax, eax
mov word [ebp + esi*2 - 0x264], ax
movzx eax, word [ebx]
cmp eax, 0x20
je 0x43f2e4
cmp eax, 9
jne 0x43f2e9
add ebx, 2
jmp 0x43f2d7
movzx ecx, word [edi]
test cx, cx
je 0x43f300
cmp ecx, 0x20
je 0x43f300
cmp ecx, 9
je 0x43f300
cmp ecx, 0x28
jne 0x43f317
cmp eax, 0x3d
je 0x43f317
cmp eax, 0x3a
je 0x43f317
mov ecx, dword [ebp + 0x70]
mov byte [ebp + 0x4f], 1
mov byte [ebp + 0x63], 0
jmp 0x43f338
mov ecx, dword [ebp + 0x70]
mov byte [ebp + 0x4f], 0
mov byte [ebp + 0x63], 0
jmp 0x43f338
xor eax, eax
mov ebx, ecx
mov word [ebp - 0x264], ax
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x4f], al
mov byte [ebp + 0x63], al
movzx edi, word [ecx]
cmp edi, 0x22
je 0x43f345
cmp edi, 0x27
jne 0x43f3aa
mov eax, dword [ebp + 0x78]
lea ebx, [ecx + 2]
add eax, 2
nop
movzx ecx, word [ebx]
cmp cx, di
jne 0x43f385
cmp dword [ebp + 0x78], 0
je 0x43f364
cmp word [eax], 0
jne 0x43f3a2
test cx, cx
je 0x43f3aa
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f369
cmp eax, 9
je 0x43f369
mov edi, dword [ebp + 0x70]
cmp eax, 0x2e
cmovne ebx, edi
jmp 0x43f3ad
test cx, cx
je 0x43f3aa
cmp ecx, 0x60
jne 0x43f3a2
cmp dword [ebp + 0x78], 0
jne 0x43f3a2
cmp word [ebx + 2], 0
je 0x43f3a2
add eax, 2
add ebx, 2
add eax, 2
add ebx, 2
jmp 0x43f350
mov edi, dword [ebp + 0x70]
movzx edx, word [ebx]
lea esi, [ebx + 2]
movzx ecx, word [esi]
lea eax, [edx - 0x26]
cmp eax, 0x56
ja case.0x43f3c9.39
movzx eax, byte [eax + 0x4401bc]
jmp dword [eax*4 + 0x44019c]
cmp ecx, 0x3d
jne case.0x43f3c9.39
cmp word [ebx + 4], 0
sete al
inc al
mov dword [ebp + 0x64], eax
jmp 0x43f421
mov edi, dword [ebp + 0x5c]
test edi, edi
jne 0x43f3f4
cmp cx, dx
je 0x43f3fd
cmp ecx, 0x3d
jne 0x43f5f3
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
movzx eax, byte [ebp + 0x62]
cmp ecx, 0x3d
mov edx, 2
cmovne edx, eax
mov dword [ebp + 0x64], edx
mov eax, edx
mov byte [ebp + 0x74], al
test al, al
je 0x43f635
cmp al, 1
jne 0x43f470
push 0
push 2
mov edx, 0x2c
mov ecx, ebx
call fcn.00483ed0
add esp, 8
cmp word [ebx + eax*2], 0
je 0x43f459
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
mov eax, 0x2c
mov word [ebx], ax
mov eax, 0x20
mov word [esi], ax
mov ebx, edi
jmp 0x43ed85
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed32
cmp ecx, 0x3d
je case.0x43f3c9.63
cmp ecx, 0x2f
jne case.0x43f3c9.39
cmp word [ebx + 4], 0x3d
jmp 0x43f4ba
cmp cx, dx
jne case.0x43f3c9.39
movzx eax, word [ebx + 4]
cmp eax, 0x3d
je case.0x43f3c9.63
cmp ecx, 0x3e
jne case.0x43f3c9.39
cmp eax, ecx
jne case.0x43f3c9.39
cmp word [ebx + 6], 0x3d
jne case.0x43f3c9.39
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
cmp ecx, 0x3d
jne 0x43f4e3
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
mov edi, esi
movzx eax, word [edi]
cmp eax, 0x7f
ja 0x43f502
push eax
call fcn.004a3770
add esp, 4
test eax, eax
jne 0x43f502
movzx eax, word [edi]
cmp eax, 0x5f
jne 0x43f507
add edi, 2
jmp 0x43f4e5
cmp eax, 0x28
je 0x43f3fd
cmp eax, 0x25
je 0x43f3fd
cmp edi, esi
je case.0x43f3c9.39
cmp eax, 0x20
je 0x43f52f
mov byte [ebp + 0x62], 0
cmp eax, 9
jne 0x43f533
mov byte [ebp + 0x62], 1
mov esi, edi
cmp ax, 0x20
je 0x43f541
cmp ax, 9
jne 0x43f54a
movzx eax, word [esi + 2]
add esi, 2
jmp 0x43f535
movzx ecx, ax
test ax, ax
je 0x43f5d2
cmp ax, 0x5b
je 0x43f3fd
cmp word [esi + 2], 0x3d
jne 0x43f57d
push eax
push str.:__.
call fcn.0049cfcf
add esp, 8
test eax, eax
jne 0x43f3fd
movzx eax, word [esi]
mov ecx, eax
cmp word [esi + 2], ax
jne 0x43f5d2
push eax
push 0x4d7a58
call fcn.0049cfcf
add esp, 8
test eax, eax
je 0x43f5a5
cmp word [esi + 4], 0x3d
je 0x43f3fd
movzx eax, word [esi]
cmp eax, 0x2b
je 0x43f3fd
cmp eax, 0x2d
je 0x43f3fd
mov ecx, eax
cmp eax, 0x3e
jne 0x43f5d2
cmp word [esi + 4], ax
jne 0x43f5e5
cmp word [esi + 6], 0x3d
je 0x43f3fd
cmp cx, 0x2e
jne 0x43f5e0
add esi, 2
jmp 0x43f4e3
test cx, cx
je 0x43f5eb
cmp byte [ebp + 0x62], 0
je case.0x43f3c9.39
mov dword [ebp + 0x5c], edi
jmp 0x43f600
mov edi, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x64]
cmp byte [ebp + 0x4f], 0
je 0x43f6a5
mov eax, 8
mov esi, 0x4e47d0
mov dword [ebp + 0x54], eax
nop dword [eax]
push dword [esi]
lea eax, [ebp - 0x264]
push eax
call fcn.0049f441
add esp, 8
test eax, eax
je 0x43f63a
inc dword [ebp + 0x54]
add esi, 6
cmp esi, 0x4e4842
jle 0x43f610
jmp 0x43f64b
mov edi, dword [ebp + 0x5c]
jmp 0x43f5f6
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
test al, al
jne 0x43ed32
movzx eax, word [edi]
cmp eax, 0x28
je 0x43f6ad
mov cx, word [ebp - 0x264]
cmp cx, 0x30
jb 0x43f666
cmp cx, 0x39
jbe 0x43f6ad
mov edx, dword [ebp + 0x44]
test ax, ax
mov esi, dword [ebp + 0x70]
mov eax, 0x28
je 0x43f67b
mov word [edi], ax
jmp 0x43f680
mov word [esi + edx*2], ax
inc edx
mov eax, 0x29
mov ebx, esi
mov word [esi + edx*2], ax
inc edx
xor eax, eax
mov dword [ebp + 0x44], edx
mov word [esi + edx*2], ax
mov eax, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
test al, al
jne 0x43ed32
movzx eax, word [ebx]
cmp eax, 0x7b
jne 0x43f764
mov ecx, 8
mov esi, 0x4e47d0
mov dword [ebp + 0x54], ecx
push dword [esi]
lea eax, [ebp - 0x264]
push eax
call fcn.0049f441
add esp, 8
test eax, eax
je 0x43f6ed
inc dword [ebp + 0x54]
add esi, 6
cmp esi, 0x4e4842
jle 0x43f6c6
xor cl, cl
jmp 0x43f6f0
mov ecx, dword [ebp + 0x54]
movzx eax, cl
add eax, 0xfffffff7
cmp eax, 0x11
ja case.0x43f702.11
movzx eax, byte [eax + 0x440220]
jmp dword [eax*4 + 0x440214]
cmp word [ebx + 2], 0
jne case.0x43f702.11
mov al, cl
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
test cl, cl
jne 0x43ed88
movzx eax, word [ebx]
push eax
push str.__t_____:________n._
call fcn.0049cfcf
add esp, 8
test eax, eax
je 0x43f7ff
movzx eax, word [ebx]
cmp eax, 0x2b
je 0x43f74a
cmp eax, 0x2d
jne 0x43f7d1
cmp word [ebx + 2], ax
jne 0x43f7d1
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
cmp eax, 0x3a
jne case.0x43f702.11
lea eax, [ebp - 0x264]
push 0x4d4618
push eax
call fcn.0049f441
add esp, 8
test eax, eax
jne case.0x43f702.11
mov esi, dword [ebp + 0x58]
mov ecx, esi
push eax
push eax
push eax
push eax
push 0x1b
call fcn.00440240
test eax, eax
je 0x43f00f
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f799
cmp eax, 9
je 0x43f799
test ax, ax
je 0x43f24d
push 0
push 0
push 0
push ebx
mov ecx, esi
call fcn.0043ece0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push 0x3f
push ebx
call fcn.0049cfcf
add esp, 8
test eax, eax
je 0x43f7ff
push 0x3a
push eax
call fcn.0049cfcf
add esp, 8
test eax, eax
je 0x43f7ff
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
test edi, edi
je 0x43f818
movzx eax, word [edi]
cmp eax, 0x28
je 0x43f8b4
cmp eax, 0x5b
je 0x43f8b4
movzx eax, word [ebx]
mov esi, dword [ebp + 0x70]
cmp eax, 0x25
je 0x43f8b7
cmp word [esi], 0x28
je 0x43f8b7
cmp eax, 0x3d
jne 0x43f85a
cmp word [ebx + 2], ax
je 0x43f87d
mov ecx, dword [ebp + 0x58]
push esi
push str.Syntax_error._Did_you_mean_to_use__:__
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp eax, 0x2c
jne 0x43f87d
mov ecx, dword [ebp + 0x58]
push esi
push str.Function_calls_require_a_space_or____.__Use_comma_only_between_parameters.
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push 0x4d7040
push esi
call fcn.0049d9be
add esp, 8
mov edx, str.This_line_does_not_contain_a_recognized_action.
test eax, eax
mov ecx, str.Invalid_hotkey.
cmove ecx, edx
push esi
push ecx
mov ecx, dword [ebp + 0x58]
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov esi, dword [ebp + 0x70]
mov al, 2
mov ebx, esi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed88
cmp edi, ebx
jbe 0x43ed85
movzx ecx, word [edi]
mov dword [ebp + 0x54], ecx
cmp ecx, 0x20
je 0x43f8e7
cmp ecx, 9
je 0x43f8e7
cmp ecx, 0x2c
jne 0x43ed85
mov edx, dword [ebp + 0x64]
mov eax, edi
movzx esi, cx
nop
mov byte [ebp + 0x62], dl
cmp si, 0x20
je 0x43f8ff
cmp si, 9
jne 0x43f908
movzx esi, word [eax + 2]
add eax, 2
jmp 0x43f8f0
mov dword [ebp + 0x40], eax
movzx eax, cx
mov dword [ebp + 0x3c], eax
xor eax, eax
push ebx
push str.Files
mov word [edi], ax
call fcn.0049f441
add esp, 8
test eax, eax
jne 0x43f93e
mov ecx, dword [ebp + 0x54]
mov al, 0xb
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
movzx eax, cx
mov word [edi], ax
jmp 0x43f9c2
push ebx
push 0x4d7bdc
call fcn.0049f441
add esp, 8
test eax, eax
jne 0x43f963
mov ecx, dword [ebp + 0x54]
mov al, 0xc
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
movzx eax, cx
mov word [edi], ax
jmp 0x43f9c2
push ebx
push str.Read
call fcn.0049f441
add esp, 8
test eax, eax
jne 0x43f988
mov ecx, dword [ebp + 0x54]
mov al, 0xd
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
movzx eax, cx
mov word [edi], ax
jmp 0x43f9c2
push ebx
push str.Parse
call fcn.0049f441
add esp, 8
test eax, eax
jne 0x43f9aa
mov al, 0xe
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
mov eax, dword [ebp + 0x3c]
mov word [edi], ax
jmp 0x43f9c2
mov ecx, dword [ebp + 0x54]
movzx eax, cx
mov word [edi], ax
mov al, byte [ebp + 0x62]
mov cl, al
mov dword [ebp + 0x64], ecx
mov byte [ebp + 0x74], cl
cmp al, 0xa
je 0x43f9e5
mov ebx, dword [ebp + 0x40]
cmp si, 0x2c
jne 0x43ed85
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f9cf
cmp eax, 9
je 0x43f9cf
jmp 0x43ed85
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
cmp si, 0x2c
jne 0x43ed88
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Invalid_loop_type.
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov esi, ebx
jmp 0x43fa1c
mov esi, dword [ebp + 0x5c]
mov al, cl
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
test esi, esi
je 0x43fac2
cmp word [esi], 0x28
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
jne 0x43fac2
mov eax, dword [ebp + 0x70]
lea eax, [eax + edx*2]
movzx edx, word [eax - 2]
add eax, 0xfffffffe
mov ecx, edx
cmp edx, 0x7b
jne 0x43fa87
cmp byte [ebp + 0x64], 0xf
je 0x43fa5e
mov edx, dword [ebp + 0x64]
cmp dl, 0x17
jne 0x43fa87
add eax, 0xfffffffe
mov byte [ebp + 0x63], 1
cmp eax, esi
jbe 0x43fa84
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43fa7d
cmp ecx, 9
jne 0x43fa84
sub eax, 2
cmp eax, esi
ja 0x43fa70
movzx ecx, word [eax]
mov dl, byte [ebp + 0x62]
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
cmp cx, 0x29
jne 0x43fac2
add eax, 0xfffffffe
add ebx, 2
cmp eax, esi
jbe 0x43fab4
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43faad
cmp ecx, 9
jne 0x43fab4
sub eax, 2
cmp eax, esi
ja 0x43faa0
xor ecx, ecx
mov word [eax + 2], cx
mov al, 1
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
cmp byte [ebp + 0x64], 0x17
jne case.0x43edc1.13
cmp word [ebx], 0x7b
jne case.0x43edc1.13
jmp 0x43fadb
mov esi, dword [ebp + 0x5c]
test esi, esi
je 0x43fb05
cmp word [esi], 0x28
jne 0x43fb05
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Syntax_error.
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
movzx eax, word [ebx]
mov ecx, eax
cmp eax, 0x7b
jne 0x43fb26
mov byte [ebp + 0x63], 1
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43fb13
cmp eax, 9
je 0x43fb13
mov ecx, eax
test cx, cx
je case.0x43edc1.13
mov dword [ebp + 0x54], ebx
sub ebx, 2
xor eax, eax
mov word [ebx], ax
jmp case.0x43edc1.13
push 0
push 0
mov edx, 0x3a
mov ecx, ebx
call fcn.00483ed0
add esp, 8
cmp word [ebx + eax*2], 0
lea esi, [ebx + eax*2]
jne 0x43fb7c
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Missing__:_
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
xor eax, eax
mov word [esi], ax
cmp word [ebx], ax
je 0x43fbc8
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43fb90
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [ebx + eax*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43fbb2
cmp ecx, 9
jne 0x43fbbb
cmp eax, ebx
je 0x43fbc3
sub eax, 2
jmp 0x43fba5
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x43fbc8
xor ecx, ecx
mov word [eax], cx
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x43fbc8
cmp eax, 9
je 0x43fbc8
mov dl, byte [ebp + 0x62]
mov dword [ebp + 0x54], esi
mov cl, dl
mov dword [ebp + 0x50], ecx
mov byte [ebp + 0x48], cl
test ax, ax
jne case.0x43edc1.13
mov al, dl
mov dword [ebp + 0x54], 0
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
mov ecx, dword [ebp + 0x78]
lea eax, [edi + edi*2]
mov dword [ebp + 0x40], eax
test ecx, ecx
je 0x43fc17
mov eax, ebx
sub eax, dword [ebp + 0x70]
sar eax, 1
lea edi, [ecx + eax*2]
mov dword [ebp + 0x44], edi
jmp 0x43fc3d
mov esi, dword [ebp + 0x44]
add esi, esi
mov eax, esi
call fcn.004b5b30
mov edi, esp
push esi
push 0
push edi
mov dword [ebp + 0x44], edi
call fcn.0049dd50
add esp, 0xc
mov edx, edi
mov ecx, ebx
call fcn.00483db0
mov eax, dword [ebp + 0x64]
cmp al, 0x14
ja 0x43fc48
cmp al, 0x12
jae 0x43fc55
mov edx, 1
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
jmp 0x43fc58
mov edx, dword [ebp + 0x50]
cmp al, 0xf
jne 0x43fd1d
movzx eax, word [ebx]
mov esi, ebx
mov dword [ebp + 0x78], eax
movzx edi, ax
add eax, 0xffffffbf
cmp ax, 0x19
mov eax, edi
ja 0x43fc7b
or eax, 0x20
jmp 0x43fc7d
mov edi, eax
cmp ax, 0x69
jne 0x43fca0
mov cx, word [esi + 2]
call fcn.0040c310
cmp ax, 0x6e
jne 0x43fca0
movzx eax, word [esi + 4]
cmp eax, 0x20
je 0x43fd02
cmp eax, 9
je 0x43fd02
cmp word [ebp + 0x78], 0x7f
ja 0x43fcc5
push edi
call fcn.004a3800
add esp, 4
test eax, eax
jne 0x43fcc5
movzx eax, word [esi]
cmp eax, 0x5f
je 0x43fcc5
cmp eax, 0x2c
jne 0x43fae5
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43fce2
push eax
call fcn.004a3770
add esp, 4
test eax, eax
jne 0x43fce2
movzx eax, word [esi]
cmp eax, 0x5f
jne 0x43fce7
add esi, 2
jmp 0x43fcc5
cmp eax, 0x2c
jne 0x43fcf0
add esi, 2
nop
movzx eax, word [esi]
cmp eax, 0x20
je 0x43fcec
cmp eax, 9
je 0x43fcec
jmp 0x43fc65
mov edx, dword [ebp + 0x50]
cmp esi, ebx
mov ecx, 0x20
mov eax, 0x2c
cmove eax, ecx
mov word [esi + 2], cx
mov word [esi], ax
jmp 0x43fd2d
xor ecx, ecx
movzx edx, dl
cmp al, 0x17
cmove edx, ecx
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
mov eax, dword [ebp + 0x40]
xor ecx, ecx
xor esi, esi
mov dword [ebp + 0x5c], esi
movsx edi, byte [eax*2 + 0x4e47a5]
mov dword [ebp + 0x3c], edi
lea eax, [edi - 1]
mov dword [ebp + 0x38], eax
cmp word [ebx], cx
je 0x43fe9f
cmp esi, edi
jge 0x43fe9f
mov edi, dword [ebp + 0x44]
lea eax, [ebx + ecx*2]
mov dword [ebp + esi*4 - 0x18], eax
lea eax, [edi + ecx*2]
mov dword [ebp + esi*4 - 0x68], eax
test dl, dl
je 0x43fe00
push edi
push ecx
mov edx, 0x2c
mov ecx, ebx
call fcn.00483ed0
add esp, 8
mov ecx, eax
cmp word [ebx + ecx*2], 0
je 0x43fe82
cmp esi, dword [ebp + 0x38]
je 0x43fe98
xor eax, eax
mov word [ebx + ecx*2], ax
mov eax, dword [ebp + esi*4 - 0x18]
mov edi, dword [ebp + esi*4 - 0x68]
mov dword [ebp + 0x78], eax
cmp word [eax], 0
je 0x43fe5a
mov edx, eax
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x43fdc0
sub edx, esi
sar edx, 1
lea esi, [edx - 1]
mov edx, dword [ebp + 0x5c]
lea eax, [edi + esi*2]
mov edi, dword [ebp + 0x78]
sub edi, dword [ebp + edx*4 - 0x68]
nop
movzx edx, word [edi + eax]
cmp edx, 0x20
je 0x43fdee
cmp edx, 9
jne 0x43fe50
cmp word [eax], 0
jne 0x43fe50
test esi, esi
je 0x43fe3c
dec esi
sub eax, 2
jmp 0x43fde0
movzx eax, word [ebx + ecx*2]
cmp eax, 0x2c
jne 0x43fe1f
test edi, edi
je 0x43fd85
cmp word [edi + ecx*2], 0
je 0x43fd85
inc ecx
jmp 0x43fe00
test ax, ax
je 0x43fd85
cmp eax, 0x60
jne 0x43fe39
test edi, edi
jne 0x43fe39
cmp word [ebx + ecx*2 + 2], di
je 0x43fe39
inc ecx
inc ecx
jmp 0x43fe00
cmp edx, 0x20
je 0x43fe46
cmp edx, 9
jne 0x43fe5a
mov eax, dword [ebp + 0x78]
xor edx, edx
mov word [eax], dx
jmp 0x43fe5a
mov eax, dword [ebp + 0x78]
xor edx, edx
mov word [eax + esi*2 + 2], dx
mov edi, dword [ebp + 0x44]
inc ecx
mov esi, ebx
sub esi, edi
lea eax, [edi + ecx*2]
movzx edx, word [esi + eax]
cmp edx, 0x20
je 0x43fe73
cmp edx, 9
jne 0x43fe7f
cmp word [eax], 0
jne 0x43fe7f
inc ecx
add eax, 2
jmp 0x43fe65
mov esi, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x3c]
inc esi
cmp word [ebx + ecx*2], 0
mov dword [ebp + 0x5c], esi
je 0x43fe9f
mov edx, dword [ebp + 0x50]
jmp 0x43fd51
mov edi, dword [ebp + 0x3c]
inc esi
mov dword [ebp + 0x5c], esi
mov eax, dword [ebp + 0x40]
mov al, byte [eax*2 + 0x4e47a4]
movsx edx, al
mov byte [ebp + 0x7b], al
cmp esi, edx
jge 0x43ff0b
cmp byte [ebp + 0x7b], 1
mov ecx, 0x4cee98
mov eax, 0x4d7c58
cmovle eax, ecx
push eax
mov eax, dword [ebp + 0x40]
push edx
push dword [eax*2 + 0x4e47a0]
lea eax, [ebp - 0xa64]
push str.__s__requires_at_least__d_parameter_s.
push 0x400
push eax
call fcn.004819a0
mov ecx, dword [ebp + 0x58]
lea eax, [ebp - 0xa64]
add esp, 0x18
push dword [ebp + 0x70]
push eax
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp word [ebx + ecx*2], 0
mov ebx, dword [ebp + 0x64]
je 0x43ff76
cmp bl, 2
je 0x43ff76
cmp bl, 0x17
je 0x43ff76
mov ecx, 0x4cee98
cmp edi, 1
mov eax, 0x4d7c58
cmovle eax, ecx
push eax
mov eax, dword [ebp + 0x40]
push edi
push dword [eax*2 + 0x4e47a0]
lea eax, [ebp - 0xa64]
push str.__s__accepts_at_most__d_parameter_s.
push 0x400
push eax
call fcn.004819a0
mov ecx, dword [ebp + 0x58]
lea eax, [ebp - 0xa64]
add esp, 0x18
push dword [ebp + 0x70]
push eax
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
xor eax, eax
cmp bl, 0x1b
jne 0x43ff81
mov edx, esi
jmp 0x43ff89
cmp bl, 0x17
jne 0x43ff89
lea edx, [esi - 1]
test edx, edx
jle 0x43ffa7
nop dword [eax]
lea ecx, [eax + 1]
mov eax, dword [ebp + eax*4 - 0x18]
cmp word [eax], 0
je 0x440050
mov eax, ecx
cmp eax, edx
jl 0x43ff90
test esi, esi
je 0x4400a7
cmp bl, 0xa
jb 0x43ffb9
cmp bl, 0x10
jbe 0x43ffcc
cmp bl, 8
je 0x43ffcc
cmp bl, 0x17
je 0x43ffcc
cmp bl, 0x1a
jne 0x4400cb
cmp byte [ebp + 0x63], 0
jne 0x4400a7
mov esi, dword [ebp + esi*4 - 0x1c]
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ffe0
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
cmp eax, esi
jb 0x4400a4
cmp word [eax], 0x7b
jne 0x4400a4
xor ecx, ecx
mov byte [ebp + 0x63], 1
mov word [eax], cx
cmp word [esi], cx
je 0x440139
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x440020
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
movzx edx, word [eax]
cmp edx, 0x20
je 0x440042
cmp edx, 9
jne 0x440096
cmp eax, esi
je 0x440134
sub eax, 2
dec ecx
jmp 0x440035
mov eax, dword [ebp + 0x40]
push ecx
push dword [eax*2 + 0x4e47a0]
lea eax, [ebp - 0xa64]
push str.__s__requires_that_parameter__u_be_non_blank.
push 0x400
push eax
call fcn.004819a0
mov ecx, dword [ebp + 0x58]
lea eax, [ebp - 0xa64]
add esp, 0x14
push dword [ebp + 0x70]
push eax
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
xor edx, edx
mov word [eax + 2], dx
test ecx, ecx
je 0x440139
mov esi, dword [ebp + 0x5c]
cmp bl, 0x1a
jne 0x4400cb
test esi, esi
je 0x4400cb
mov eax, dword [ebp - 0x18]
cmp word [eax], 0
jne 0x4400cb
mov ecx, dword [ebp + 0x58]
push 0x4cee98
push str.Parameter_1_must_not_be_blank_in_this_case.
call fcn.0040d7b0
push dword [ebp + 0x48]
lea eax, [ebp - 0x68]
push eax
push esi
mov esi, dword [ebp + 0x58]
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 0x74]
mov ecx, esi
call fcn.00440240
test eax, eax
je 0x43f00f
cmp byte [ebp + 0x63], 0
je 0x44010b
push 0
push 0
push 0
push 0
push 3
mov ecx, esi
call fcn.00440240
test eax, eax
je 0x43f00f
mov eax, dword [ebp + 0x54]
test eax, eax
je 0x43f24d
push 0
push 0
push 0
push eax
mov ecx, esi
call fcn.0043ece0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
xor ecx, ecx
mov word [eax], cx
cmp bl, 0xa
je 0x440168
cmp bl, 0x17
je 0x440168
cmp bl, 0x1a
je 0x440168
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Parameter_1_required
call fcn.0040d7b0
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov esi, dword [ebp + 0x5c]
dec esi
jmp 0x4400a7