Function at 0x419fc0
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0xad0
push ebx
push esi
mov esi, dword [ebp + 0x70]
mov dword [ebp + 0x54], ecx
mov ecx, esi
push edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x419fe0
sub ecx, edx
mov dl, byte [ebp + 0x74]
sar ecx, 1
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x5c], edx
test dl, dl
je 0x41a093
xor eax, eax
mov edi, esi
mov word [ebp - 0x268], ax
mov dword [ebp + 0x60], eax
cmp dl, 0xa
jne 0x41a058
mov ebx, edi
test edi, edi
je 0x41a058
movzx eax, word [edi]
test ax, ax
je 0x41a058
mov esi, eax
mov ecx, str.__t_____:________n.
mov edx, 0x20
nop dword [eax]
cmp si, dx
je 0x41ac22
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x41a030
movzx eax, word [ebx + 2]
add ebx, 2
mov esi, eax
test ax, ax
jne 0x41a023
mov edx, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x58]
mov ebx, dword [ebp + 0x60]
movzx esi, dl
xor eax, eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x44], esi
mov byte [ebp + 0x60], 0
lea eax, [esi - 9]
mov byte [ebp + 0x67], 0
cmp eax, 0x12
ja case.0x41a08c.13
movzx eax, byte [eax + 0x41b490]
mov byte [ebp + 0x60], 0
mov byte [ebp + 0x67], 0
jmp dword [eax*4 + 0x41b47c]
push 6
push str.Global
push esi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x41a0c0
mov ecx, dword [0x4d78c8]
mov ebx, 0xc1
mov eax, 0x41
cmp dword [ecx + 0x18], 0
cmovne ebx, eax
jmp 0x41a105
push 5
push str.Local
push esi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x41a0e2
mov ecx, dword [0x4d78c8]
lea ebx, [eax + 0x42]
lea eax, [ebx - 0x38]
jmp 0x41a10a
push 6
push 0x4b495c
push esi
call fcn.00497b0e
add esp, 0xc
test eax, eax
jne 0x41a5f7
mov ecx, dword [0x4d78c8]
mov ebx, 0x62
mov eax, 0xc
lea edi, [eax + esi]
mov dword [ebp + 0x60], ebx
movzx eax, word [edi]
test ax, ax
je 0x41a585
cmp eax, 0x20
je 0x41a130
cmp eax, 9
jne 0x41a5f7
nop word [eax + eax]
cmp ax, 0x20
je 0x41a13c
cmp ax, 9
jne 0x41a145
movzx eax, word [edi + 2]
add edi, 2
jmp 0x41a130
test ax, ax
je 0x41a585
cmp ax, 0x7f
ja 0x41a174
movzx eax, ax
push eax
call fcn.004985b7
add esp, 4
test eax, eax
jne 0x41a16e
cmp word [edi], 0x5f
jne 0x41a5f7
mov ecx, dword [0x4d78c8]
cmp dword [ecx + 0x18], 0
jne 0x41a19d
test bl, 2
je 0x41a19d
mov ecx, dword [ebp + 0x54]
push esi
push str.Unexpected_declaration.
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp word [edi], 0
mov eax, dword [ebp + 0x54]
mov byte [ebp + 0x73], 0
mov eax, dword [eax + 0x48]
mov dword [ebp + 0x40], eax
je 0x41a5c5
mov eax, ebx
and eax, 1
mov dword [ebp + 0x3c], eax
nop dword [eax]
lea esi, [edi + 2]
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x41a1de
push eax
call fcn.004985b7
add esp, 4
test eax, eax
jne 0x41a1de
cmp word [esi], 0x5f
jne 0x41a1e3
add esi, 2
jmp 0x41a1c3
mov ebx, esi
xor ecx, ecx
sub ebx, edi
mov dword [ebp + 0x74], ecx
sar ebx, 1
cmp dword [ebp + 0x3c], ecx
je 0x41a261
cmp word [edi], cx
je 0x41a514
mov ecx, dword [ebp + 0x54]
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x34]
mov dword [ebp + 0x78], 1
push eax
lea eax, [ebp + 0x38]
push eax
push dword [ebp + 0x60]
push ebx
push edi
call fcn.0041ebd0
mov ecx, eax
mov dword [ebp + 0x74], ecx
test ecx, ecx
jne 0x41a261
cmp dword [ebp + 0x78], eax
je 0x41a514
mov eax, dword [ebp + 0x54]
mov edx, dword [ebp + 0x38]
add eax, 0x30
cmp edx, eax
mov eax, dword [ebp + 0x60]
setne cl
and eax, 0xfffffffc
inc ecx
or ecx, eax
push ecx
push dword [ebp + 0x34]
mov ecx, dword [ebp + 0x54]
push edx
push ebx
push edi
call fcn.0041f3d0
mov ecx, eax
mov dword [ebp + 0x74], ecx
test ecx, ecx
je 0x41a514
mov eax, dword [0x4d78c8]
cmp dword [eax + 0x18], 0
je 0x41a388
lea eax, [ebp + 0x44]
mov dword [ebp + 0x44], 1
push eax
lea eax, [ebp + 0x58]
test ecx, ecx
push eax
lea eax, [ebp + 0x5c]
mov ecx, 0x22
push eax
mov eax, dword [ebp + 0x60]
cmovne eax, ecx
mov ecx, dword [ebp + 0x54]
push eax
push ebx
push edi
call fcn.0041ebd0
mov edx, eax
test edx, edx
jne 0x41a345
cmp dword [ebp + 0x44], eax
je 0x41a514
cmp dword [ebp + 0x74], eax
je 0x41a328
mov ebx, dword [ebp + 0x5c]
mov edx, dword [ebp + 0x58]
mov dword [ebp + 0x48], edx
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
cmp ecx, eax
jne 0x41a2fa
test eax, eax
je 0x41a2ce
add eax, eax
jmp 0x41a2d3
mov eax, 0x20
mov dword [ebp + 0x4c], eax
shl eax, 2
push eax
push dword [ebx]
call fcn.0049acd3
add esp, 8
test eax, eax
je 0x41a526
mov ecx, dword [ebx + 4]
mov edx, dword [ebp + 0x48]
mov dword [ebx], eax
mov eax, dword [ebp + 0x4c]
mov dword [ebx + 8], eax
cmp edx, ecx
je 0x41a319
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.00496c80
mov edx, dword [ebp + 0x48]
add esp, 0xc
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x74]
mov dword [eax + edx*4], ecx
mov edx, ecx
inc dword [ebx + 4]
jmp 0x41a345
push dword [ebp + 0x60]
mov ecx, dword [ebp + 0x54]
push dword [ebp + 0x58]
push dword [ebp + 0x5c]
push ebx
push edi
call fcn.0041f3d0
mov edx, eax
test edx, edx
je 0x41a514
movzx eax, byte [edx + 0x16]
mov ebx, dword [ebp + 0x60]
and eax, 0xffffff7f
cmp eax, ebx
je 0x41a38d
test bl, 2
je 0x41a548
test bl, 0x20
mov ecx, str.local
mov eax, str.static
cmove eax, ecx
mov ecx, dword [ebp + 0x54]
push edx
push eax
call fcn.00429140
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov ebx, dword [ebp + 0x60]
mov edx, ecx
cmp byte [edx + 0x17], 0
jne 0x41a39d
mov ecx, dword [edx + 0xc]
call fcn.00414070
jmp 0x41a39f
mov eax, edx
movzx eax, byte [eax + 0x17]
sub eax, 2
je 0x41a3af
sub eax, 1
je 0x41a355
jmp 0x41a3b4
cmp ebx, 0x41
jne 0x41a355
test bl, bl
jns 0x41a3bc
or byte [edx + 0x16], 0x80
mov ecx, esi
call fcn.00409cc0
mov esi, eax
movzx eax, word [esi]
mov ecx, eax
test cx, cx
je 0x41a4f0
cmp ecx, 0x2c
je 0x41a4da
cmp eax, 0x3a
jne 0x41a3ed
cmp word [esi + 2], 0x3d
jne 0x41a3ed
add esi, 4
jmp 0x41a437
push eax
push str.__.
call fcn.0049515e
add esp, 8
test eax, eax
je 0x41a406
cmp word [esi + 2], 0x3d
je 0x41a437
movzx eax, word [esi]
push eax
push 0x4caac4
call fcn.0049515e
add esp, 8
test eax, eax
je 0x41a567
mov ax, word [esi + 2]
cmp ax, word [esi]
jne 0x41a567
cmp word [esi + 4], 0x3d
jne 0x41a567
push 0
push 0
mov edx, 0x2c
mov ecx, esi
call fcn.0047ce90
add esp, 8
mov ecx, edi
lea esi, [esi + eax*2]
lea edx, [esi - 2]
call fcn.00409ce0
movzx ecx, word [eax + 2]
add eax, 2
mov dword [ebp + 0x4c], ecx
xor ecx, ecx
mov dword [ebp + 0x74], eax
mov word [eax], cx
cmp dword [ebp + 0x40], ecx
je 0x41a48d
cmp byte [ebp + 0x73], cl
jne 0x41a48d
push ecx
push ecx
push ecx
push ecx
mov ecx, dword [ebp + 0x54]
push 3
call fcn.0041b540
test eax, eax
je 0x41a514
mov byte [ebp + 0x73], 1
mov ecx, dword [ebp + 0x54]
cmp ebx, 0x62
push 0
setne al
dec al
and al, 5
push 0
movzx eax, al
push eax
push edi
call fcn.00419fc0
test eax, eax
je 0x41a514
mov eax, dword [ebp + 0x74]
mov ecx, dword [ebp + 0x4c]
mov word [eax], cx
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x2c
jne 0x41a4d1
lea ecx, [esi + 2]
call fcn.00409cc0
mov edi, eax
movzx eax, word [edi]
movzx eax, ax
jmp 0x41a4e7
mov eax, ecx
mov edi, esi
movzx eax, ax
jmp 0x41a4e7
lea ecx, [esi + 2]
call fcn.00409cc0
mov edi, eax
movzx eax, word [edi]
test ax, ax
jne 0x41a1c0
cmp byte [ebp + 0x73], 0
je 0x41a5c5
mov ecx, dword [ebp + 0x54]
push 0
push 0
push 0
push 0
push 4
call fcn.0041b540
test eax, eax
jne 0x41a5c5
xor eax, eax
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x54]
push 0x4b431c
push str.Out_of_memory.
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x54]
mov eax, str.global
push edx
push eax
call fcn.00429140
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x54]
push edi
push str.Invalid_variable_declaration.
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov eax, dword [ebp + 0x54]
cmp byte [eax + 0x50], 0
je 0x41a5da
cmp ebx, 0x42
jne 0x41a5b3
mov ebx, 0x46
mov eax, dword [ecx + 0x18]
mov byte [eax + 0x75], bl
mov eax, 1
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov eax, dword [ecx + 0x18]
cmp byte [eax + 0x75], 0x46
jne 0x41a598
cmp ebx, 0x62
jne 0x41a598
mov byte [eax + 0x75], 0x66
mov eax, 1
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push esi
push str.Unexpected_declaration.
mov ecx, eax
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov ebx, esi
nop dword [eax]
movzx eax, word [ebx]
cmp eax, 0x7f
ja 0x41a61b
push eax
call fcn.004985b7
add esp, 4
test eax, eax
jne 0x41a61b
cmp word [ebx], 0x5f
jne 0x41a620
add ebx, 2
jmp 0x41a600
mov eax, dword [ebp + 0x70]
mov esi, ebx
sub esi, eax
mov dword [ebp + 0x60], ebx
sar esi, 1
je 0x41a68d
cmp esi, 0xfd
ja 0x41a68d
push esi
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.0049fc44
add esp, 0xc
mov edi, ebx
xor eax, eax
mov word [ebp + esi*2 - 0x268], ax
movzx eax, word [edi]
cmp eax, 0x20
je 0x41a660
cmp eax, 9
jne 0x41a665
add edi, 2
jmp 0x41a653
movzx ecx, word [ebx]
test cx, cx
je 0x41a67c
cmp ecx, 0x20
je 0x41a67c
cmp ecx, 9
je 0x41a67c
cmp ecx, 0x28
jne 0x41a687
cmp eax, 0x3d
je 0x41a687
mov byte [ebp + 0x67], 1
jmp 0x41a6a0
mov byte [ebp + 0x67], 0
jmp 0x41a6a0
xor ecx, ecx
mov edi, eax
xor eax, eax
mov word [ebp - 0x268], cx
mov byte [ebp + 0x67], cl
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x70]
movzx esi, word [eax]
cmp esi, 0x22
je 0x41a6b0
cmp esi, 0x27
jne 0x41a715
mov ebx, dword [ebp + 0x78]
lea edi, [eax + 2]
lea eax, [ebx + 2]
nop dword [eax]
movzx ecx, word [edi]
cmp cx, si
jne 0x41a6f3
test ebx, ebx
je 0x41a6d2
cmp word [eax], 0
jne 0x41a70d
test cx, cx
je 0x41a719
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x20
je 0x41a6d7
cmp eax, 9
je 0x41a6d7
mov esi, dword [ebp + 0x70]
cmp eax, 0x2e
cmovne edi, esi
jmp 0x41a71c
test cx, cx
je 0x41a719
cmp ecx, 0x60
jne 0x41a70d
test ebx, ebx
jne 0x41a70d
cmp word [edi + 2], bx
je 0x41a70d
add eax, 2
add edi, 2
add eax, 2
add edi, 2
jmp 0x41a6c0
mov esi, eax
jmp 0x41a71c
mov esi, dword [ebp + 0x70]
movzx ecx, word [edi]
lea ebx, [edi + 2]
movzx edx, word [ebx]
lea eax, [ecx - 0x26]
cmp eax, 0x56
ja case.0x41a738.39
movzx eax, byte [eax + 0x41b4c4]
jmp dword [eax*4 + 0x41b4a4]
mov ecx, 1
jmp 0x41a76f
mov ebx, dword [ebp + 0x60]
test ebx, ebx
jne 0x41a752
cmp dx, cx
je case.0x41a738.63
cmp edx, 0x3d
jne 0x41a94b
mov dl, 2
mov edi, esi
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a058
mov ecx, 2
mov eax, dword [ebp + 0x5c]
cmp edx, 0x3d
movzx eax, al
cmovne ecx, eax
mov dl, cl
mov byte [ebp + 0x74], dl
mov dword [ebp + 0x5c], edx
test dl, dl
je 0x41a989
cmp dl, 1
jne 0x41a7d9
push 0
push 2
mov edx, 0x2c
mov ecx, edi
call fcn.0047ce90
mov ecx, dword [ebp + 0x58]
add esp, 8
cmp word [edi + eax*2], 0
je 0x41a7bf
mov edx, 2
mov edi, esi
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a05b
mov edx, dword [ebp + 0x5c]
mov eax, 0x2c
mov word [edi], ax
mov eax, 0x20
mov word [ebx], ax
mov edi, esi
jmp 0x41a05b
mov edi, esi
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a00e
cmp edx, 0x3d
je case.0x41a738.63
cmp edx, 0x2f
jne case.0x41a738.39
cmp word [edi + 4], 0x3d
jne case.0x41a738.39
mov dl, 2
mov edi, esi
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a058
cmp dx, cx
jne case.0x41a738.39
cmp word [edi + 4], 0x3d
mov ebx, dword [ebp + 0x60]
jne 0x41a94b
mov ecx, dword [ebp + 0x58]
mov dl, 2
mov dword [ebp + 0x5c], edx
mov edi, esi
mov byte [ebp + 0x74], dl
jmp 0x41a05e
cmp edx, 0x3d
jne 0x41a850
mov dl, 2
mov edi, esi
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a058
mov esi, ebx
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x41a86f
push eax
call fcn.004985b7
add esp, 4
test eax, eax
jne 0x41a86f
movzx eax, word [esi]
cmp eax, 0x5f
jne 0x41a874
add esi, 2
jmp 0x41a852
cmp eax, 0x28
je 0x41a938
cmp eax, 0x25
je 0x41a938
cmp esi, ebx
je case.0x41a738.39
cmp eax, 0x20
je 0x41a89c
mov byte [ebp + 0x53], 0
cmp eax, 9
jne 0x41a8a0
mov byte [ebp + 0x53], 1
mov ecx, esi
call fcn.00409cc0
mov ebx, eax
movzx eax, word [ebx]
mov ecx, eax
test ax, ax
je 0x41a918
cmp eax, 0x5b
je 0x41aaa7
cmp word [ebx + 2], 0x3d
jne 0x41a8d9
push eax
push str.:__.
call fcn.0049515e
add esp, 8
test eax, eax
jne 0x41aaa7
movzx eax, word [ebx]
mov ecx, eax
cmp word [ebx + 2], ax
jne 0x41a918
push eax
push 0x4caac4
call fcn.0049515e
add esp, 8
test eax, eax
je 0x41a901
cmp word [ebx + 4], 0x3d
je 0x41aaa7
movzx eax, word [ebx]
cmp eax, 0x2b
je 0x41aaa7
mov ecx, eax
cmp eax, 0x2d
je 0x41aaa7
cmp cx, 0x2e
jne 0x41a926
add ebx, 2
jmp 0x41a850
test cx, cx
je 0x41a931
cmp byte [ebp + 0x53], 0
je case.0x41a738.39
mov ebx, esi
mov dword [ebp + 0x60], ebx
jmp 0x41a958
mov edi, dword [ebp + 0x70]
mov dl, 2
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a058
mov ebx, dword [ebp + 0x60]
mov edx, dword [ebp + 0x5c]
cmp byte [ebp + 0x67], 0
je 0x41a9fe
mov dword [ebp + 0x5c], 8
mov esi, 0x4d7cc8
push dword [esi]
lea eax, [ebp - 0x268]
push eax
call fcn.004979b3
add esp, 8
test eax, eax
je 0x41a98e
inc dword [ebp + 0x5c]
add esi, 6
cmp esi, 0x4d7d3a
jle 0x41a964
jmp 0x41a99c
mov ebx, dword [ebp + 0x60]
jmp 0x41a94e
mov edx, dword [ebp + 0x5c]
mov byte [ebp + 0x74], dl
test dl, dl
jne 0x41a00e
movzx eax, word [ebx]
cmp eax, 0x28
je 0x41aa06
mov cx, word [ebp - 0x268]
cmp cx, 0x30
jb 0x41a9b7
cmp cx, 0x39
jbe 0x41aa06
mov ecx, dword [ebp + 0x58]
test ax, ax
je 0x41a9cc
mov eax, 0x28
mov word [ebx], ax
mov eax, dword [ebp + 0x70]
jmp 0x41a9d9
mov eax, dword [ebp + 0x70]
mov edx, 0x28
mov word [eax + ecx*2], dx
inc ecx
mov edx, 0x29
mov edi, eax
mov word [eax + ecx*2], dx
inc ecx
xor edx, edx
mov dword [ebp + 0x58], ecx
mov word [eax + ecx*2], dx
mov edx, 2
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a05b
test dl, dl
jne 0x41a00e
movzx eax, word [edi]
cmp eax, 0x7b
jne 0x41aaba
lea ebx, [eax - 0x73]
mov esi, 0x4d7cc8
nop word [eax + eax]
push dword [esi]
lea eax, [ebp - 0x268]
push eax
call fcn.004979b3
add esp, 8
test eax, eax
je 0x41aa43
add esi, 6
inc ebx
cmp esi, 0x4d7d3a
jle 0x41aa20
xor bl, bl
movzx eax, bl
add eax, 0xfffffff7
cmp eax, 0x11
ja case.0x41aa55.11
movzx eax, byte [eax + 0x41b528]
jmp dword [eax*4 + 0x41b51c]
cmp word [edi + 2], 0
jne case.0x41aa55.11
mov dl, bl
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
test bl, bl
jne 0x41a058
movzx eax, word [edi]
push eax
push str.__t_____:________n._
call fcn.0049515e
add esp, 8
test eax, eax
je 0x41ab58
movzx eax, word [edi]
cmp eax, 0x2b
je 0x41aa9d
cmp eax, 0x2d
jne 0x41ab27
cmp word [edi + 2], ax
jne 0x41ab27
mov edi, dword [ebp + 0x70]
mov edx, 2
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a058
cmp eax, 0x3a
jne case.0x41aa55.11
lea eax, [ebp - 0x268]
push str.Default
push eax
call fcn.004979b3
add esp, 8
test eax, eax
jne case.0x41aa55.11
mov ebx, dword [ebp + 0x54]
mov ecx, ebx
push eax
push eax
push eax
push eax
push 0x1b
call fcn.0041b540
test eax, eax
je 0x41a514
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x20
je 0x41aaef
cmp eax, 9
je 0x41aaef
test ax, ax
je 0x41a5c5
push 0
push 0
push 0
push edi
mov ecx, ebx
call fcn.00419fc0
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push 0x3f
push edi
call fcn.0049515e
add esp, 8
test eax, eax
je 0x41ab58
push 0x3a
push eax
call fcn.0049515e
add esp, 8
test eax, eax
je 0x41ab58
mov edi, dword [ebp + 0x70]
mov edx, 2
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a058
mov ebx, dword [ebp + 0x60]
test ebx, ebx
je 0x41ab74
movzx eax, word [ebx]
cmp eax, 0x28
je 0x41ac0c
cmp eax, 0x5b
je 0x41ac0c
movzx eax, word [edi]
cmp eax, 0x25
je 0x41ac0c
mov edx, dword [ebp + 0x70]
cmp word [edx], 0x28
je 0x41ac0c
cmp eax, 0x3d
jne 0x41abb0
mov ecx, dword [ebp + 0x54]
push edx
push str.Syntax_error._Did_you_mean_to_use__:__
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp eax, 0x2c
jne 0x41abd3
mov ecx, dword [ebp + 0x54]
push edx
push str.Function_calls_require_a_space_or____.__Use_comma_only_between_parameters.
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push 0x4c9f60
push edx
call fcn.00495225
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 dword [ebp + 0x70]
push ecx
mov ecx, dword [ebp + 0x54]
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov edi, dword [ebp + 0x70]
mov edx, 2
mov ecx, dword [ebp + 0x58]
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
jmp 0x41a05e
cmp ebx, edi
jbe 0x41a055
movzx ecx, word [ebx]
mov dword [ebp + 0x4c], ecx
cmp ecx, 0x20
je 0x41ac43
cmp ecx, 9
je 0x41ac43
cmp ecx, 0x2c
jne 0x41a055
mov edx, dword [ebp + 0x5c]
mov eax, ebx
movzx esi, cx
nop dword [eax + eax]
mov byte [ebp + 0x53], dl
cmp si, 0x20
je 0x41ac5f
cmp si, 9
jne 0x41ac68
movzx esi, word [eax + 2]
add eax, 2
jmp 0x41ac50
mov dword [ebp + 0x48], eax
movzx eax, cx
mov dword [ebp + 0x40], eax
xor eax, eax
push edi
push str.Files
mov word [ebx], ax
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x41aca1
mov ecx, dword [ebp + 0x4c]
mov edx, 0xb
movzx eax, cx
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
mov word [ebx], ax
jmp 0x41ad2e
push edi
push 0x4cac6c
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x41acc9
mov ecx, dword [ebp + 0x4c]
mov edx, 0xc
movzx eax, cx
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
mov word [ebx], ax
jmp 0x41ad2e
push edi
push str.Read
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x41acf1
mov ecx, dword [ebp + 0x4c]
mov edx, 0xd
movzx eax, cx
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
mov word [ebx], ax
jmp 0x41ad2e
push edi
push str.Parse
call fcn.004979b3
add esp, 8
test eax, eax
jne 0x41ad16
mov eax, dword [ebp + 0x40]
mov edx, 0xe
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
mov word [ebx], ax
jmp 0x41ad2e
mov ecx, dword [ebp + 0x4c]
movzx eax, cx
mov word [ebx], ax
mov al, byte [ebp + 0x53]
mov dl, al
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
cmp al, 0xa
je 0x41ad51
mov edi, dword [ebp + 0x48]
cmp si, 0x2c
jne 0x41a058
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x20
je 0x41ad3b
cmp eax, 9
je 0x41ad3b
jmp 0x41a058
mov dl, al
mov dword [ebp + 0x5c], edx
mov byte [ebp + 0x74], dl
cmp si, 0x2c
jne 0x41a058
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x54]
push str.Invalid_loop_type.
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov ebx, edi
mov byte [ebp + 0x60], 0
mov byte [ebp + 0x67], 0
test ebx, ebx
je 0x41ae31
cmp word [ebx], 0x28
mov byte [ebp + 0x60], 0
mov byte [ebp + 0x67], 0
jne 0x41ae31
mov eax, dword [ebp + 0x70]
sub eax, 2
mov byte [ebp + 0x67], 0
lea ecx, [eax + ecx*2]
movzx eax, word [ecx]
mov edx, eax
cmp eax, 0x7b
jne 0x41adf9
mov edx, dword [ebp + 0x5c]
cmp dl, 0xf
je 0x41add7
mov byte [ebp + 0x60], 0
mov byte [ebp + 0x67], 0
cmp dl, 0x17
jne case.0x41a08c.13
add ecx, 0xfffffffe
mov byte [ebp + 0x67], 1
cmp ecx, ebx
jbe 0x41adf6
movzx eax, word [ecx]
cmp eax, 0x20
je 0x41adef
cmp eax, 9
jne 0x41adf6
sub ecx, 2
cmp ecx, ebx
ja 0x41ade2
movzx edx, word [ecx]
mov byte [ebp + 0x60], 0
cmp dx, 0x29
jne 0x41ae2e
add ecx, 0xfffffffe
add edi, 2
cmp ecx, ebx
jbe 0x41ae24
nop dword [eax]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x41ae1d
cmp eax, 9
jne 0x41ae24
sub ecx, 2
cmp ecx, ebx
ja 0x41ae10
xor eax, eax
mov byte [ebp + 0x60], 1
mov word [ecx + 2], ax
mov edx, dword [ebp + 0x5c]
cmp dl, 0x17
jne case.0x41a08c.13
cmp word [edi], 0x7b
jne case.0x41a08c.13
test ebx, ebx
je 0x41ae6e
cmp word [ebx], 0x28
jne 0x41ae6e
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x54]
push str.Syntax_error.
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
jne 0x41ae8f
mov byte [ebp + 0x67], 1
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x20
je 0x41ae7c
cmp eax, 9
je 0x41ae7c
mov ecx, eax
test cx, cx
je case.0x41a08c.13
mov dword [ebp + 0x4c], edi
sub edi, 2
xor eax, eax
mov word [edi], ax
jmp case.0x41a08c.13
push 0
push 0
mov edx, 0x3a
mov ecx, edi
call fcn.0047ce90
add esp, 8
cmp word [edi + eax*2], 0
lea edx, [edi + eax*2]
jne 0x41aee5
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x54]
push str.Missing__:_
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
xor eax, eax
mov word [edx], ax
cmp word [edi], ax
je 0x41af36
mov ecx, edi
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41aef4
sub ecx, esi
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [edi + eax*2]
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41af1d
cmp ecx, 9
jne 0x41af26
cmp eax, edi
je 0x41af2e
sub eax, 2
jmp 0x41af10
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x41af33
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp + 0x44]
movzx eax, word [edx + 2]
add edx, 2
cmp eax, 0x20
je 0x41af36
cmp eax, 9
je 0x41af36
mov dword [ebp + 0x4c], edx
mov byte [ebp + 0x60], 0
mov byte [ebp + 0x67], 0
test ax, ax
jne case.0x41a08c.13
xor eax, eax
mov dword [ebp + 0x4c], eax
mov byte [ebp + 0x60], al
mov byte [ebp + 0x67], al
mov ecx, dword [ebp + 0x78]
lea eax, [esi + esi*2]
mov dword [ebp + 0x48], eax
test ecx, ecx
je 0x41af7e
mov eax, edi
sub eax, dword [ebp + 0x70]
sar eax, 1
lea ebx, [ecx + eax*2]
mov dword [ebp + 0x44], ebx
jmp 0x41afa4
mov esi, dword [ebp + 0x58]
add esi, esi
mov eax, esi
call fcn.004ac040
mov ebx, esp
push esi
push 0
push ebx
mov dword [ebp + 0x44], ebx
call fcn.004956d0
add esp, 0xc
mov edx, ebx
mov ecx, edi
call fcn.0047cd70
mov eax, dword [ebp + 0x5c]
cmp al, 0xf
jne 0x41b071
movzx eax, word [edi]
mov esi, edi
movzx ebx, ax
test ebx, 0xffffff80
jne 0x41afcf
push ebx
call fcn.00498681
add esp, 4
test eax, eax
je 0x41afcf
or ebx, 0x20
cmp bx, 0x69
jne 0x41aff2
mov cx, word [esi + 2]
call fcn.00413b00
cmp ax, 0x6e
jne 0x41aff2
movzx eax, word [esi + 4]
cmp eax, 0x20
je 0x41b054
cmp eax, 9
je 0x41b054
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x41b018
push eax
call fcn.004985eb
add esp, 4
test eax, eax
jne 0x41b018
movzx eax, word [esi]
cmp eax, 0x5f
je 0x41b018
cmp eax, 0x2c
jne 0x41ae4e
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x41b035
push eax
call fcn.004985b7
add esp, 4
test eax, eax
jne 0x41b035
movzx eax, word [esi]
cmp eax, 0x5f
jne 0x41b03a
add esi, 2
jmp 0x41b018
cmp eax, 0x2c
jne 0x41b042
add esi, 2
movzx eax, word [esi]
cmp eax, 0x20
je 0x41b03f
cmp eax, 9
je 0x41b03f
jmp 0x41afb4
cmp esi, edi
mov ecx, 0x20
mov eax, 0x2c
mov word [esi + 2], cx
cmove eax, ecx
mov dl, 1
mov word [esi], ax
mov byte [ebp + 0x60], dl
jmp 0x41b083
cmp al, 0x14
ja 0x41b079
cmp al, 0x12
jae 0x41b080
mov dl, 1
mov byte [ebp + 0x60], dl
jmp 0x41b083
mov dl, byte [ebp + 0x60]
mov eax, dword [ebp + 0x48]
xor esi, esi
mov dword [ebp + 0x78], esi
movsx eax, byte [eax*2 + 0x4d7c9d]
mov dword [ebp + 0x3c], eax
lea ecx, [eax - 1]
mov dword [ebp + 0x40], ecx
xor ecx, ecx
cmp word [edi], cx
je 0x41b1ec
cmp esi, eax
jge 0x41b1ec
mov ebx, dword [ebp + 0x44]
lea eax, [edi + ecx*2]
mov dword [ebp + esi*4 - 0x1c], eax
lea eax, [ebx + ecx*2]
mov dword [ebp + esi*4 - 0x6c], eax
test dl, dl
je 0x41b150
push ebx
push ecx
mov edx, 0x2c
mov ecx, edi
call fcn.0047ce90
add esp, 8
mov ecx, eax
cmp word [edi + ecx*2], 0
je 0x41b1d2
cmp esi, dword [ebp + 0x40]
je 0x41b1e8
xor eax, eax
mov word [edi + ecx*2], ax
mov eax, dword [ebp + esi*4 - 0x1c]
mov ebx, dword [ebp + esi*4 - 0x6c]
mov dword [ebp + 0x58], eax
cmp word [eax], 0
je 0x41b1aa
mov edx, eax
lea esi, [edx + 2]
nop
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x41b110
sub edx, esi
sar edx, 1
lea esi, [edx - 1]
mov edx, dword [ebp + 0x78]
lea eax, [ebx + esi*2]
mov ebx, dword [ebp + 0x58]
sub ebx, dword [ebp + edx*4 - 0x6c]
nop
movzx edx, word [ebx + eax]
cmp edx, 0x20
je 0x41b13e
cmp edx, 9
jne 0x41b1a0
cmp word [eax], 0
jne 0x41b1a0
test esi, esi
je 0x41b18c
dec esi
sub eax, 2
jmp 0x41b130
movzx eax, word [edi + ecx*2]
cmp eax, 0x2c
jne 0x41b16f
test ebx, ebx
je 0x41b0db
cmp word [ebx + ecx*2], 0
je 0x41b0db
inc ecx
jmp 0x41b150
test ax, ax
je 0x41b0db
cmp eax, 0x60
jne 0x41b189
test ebx, ebx
jne 0x41b189
cmp word [edi + ecx*2 + 2], bx
je 0x41b189
inc ecx
inc ecx
jmp 0x41b150
cmp edx, 0x20
je 0x41b196
cmp edx, 9
jne 0x41b1aa
mov eax, dword [ebp + 0x58]
xor edx, edx
mov word [eax], dx
jmp 0x41b1aa
mov eax, dword [ebp + 0x58]
xor edx, edx
mov word [eax + esi*2 + 2], dx
mov ebx, dword [ebp + 0x44]
inc ecx
mov esi, edi
sub esi, ebx
lea eax, [ebx + ecx*2]
movzx edx, word [esi + eax]
cmp edx, 0x20
je 0x41b1c3
cmp edx, 9
jne 0x41b1cf
cmp word [eax], 0
jne 0x41b1cf
inc ecx
add eax, 2
jmp 0x41b1b5
mov esi, dword [ebp + 0x78]
inc esi
cmp word [edi + ecx*2], 0
mov dword [ebp + 0x78], esi
je 0x41b1ec
mov dl, byte [ebp + 0x60]
mov eax, dword [ebp + 0x3c]
jmp 0x41b0a7
inc esi
mov dword [ebp + 0x78], esi
mov eax, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x78]
mov dl, byte [eax*2 + 0x4d7c9c]
movsx esi, dl
cmp ebx, esi
jge 0x41b257
cmp dl, 1
mov ecx, 0x4b431c
mov eax, 0x4cace8
cmovle eax, ecx
push eax
mov eax, dword [ebp + 0x48]
push esi
push dword [eax*2 + 0x4d7c98]
lea eax, [ebp - 0xa68]
push str.__s__requires_at_least__d_parameter_s.
push 0x400
push eax
call fcn.0047a7e0
mov ecx, dword [ebp + 0x54]
lea eax, [ebp - 0xa68]
add esp, 0x18
push dword [ebp + 0x70]
push eax
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp word [edi + ecx*2], 0
mov ecx, dword [ebp + 0x5c]
je 0x41b2c0
cmp cl, 2
je 0x41b2c0
mov ecx, dword [ebp + 0x3c]
mov edx, 0x4b431c
cmp ecx, 1
mov eax, 0x4cace8
cmovle eax, edx
push eax
mov eax, dword [ebp + 0x48]
push ecx
push dword [eax*2 + 0x4d7c98]
lea eax, [ebp - 0xa68]
push str.__s__accepts_at_most__d_parameter_s.
push 0x400
push eax
call fcn.0047a7e0
mov ecx, dword [ebp + 0x54]
lea eax, [ebp - 0xa68]
add esp, 0x18
push dword [ebp + 0x70]
push eax
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
xor eax, eax
mov edx, ebx
cmp cl, 0x1b
cmovne edx, esi
test edx, edx
jle 0x41b2ea
nop
lea ecx, [eax + 1]
mov eax, dword [ebp + eax*4 - 0x1c]
cmp word [eax], 0
je 0x41b38c
mov eax, ecx
cmp eax, edx
jl 0x41b2d0
mov ecx, dword [ebp + 0x5c]
test ebx, ebx
je 0x41b413
cmp cl, 0xa
jb 0x41b2fc
cmp cl, 0x10
jbe 0x41b30f
cmp cl, 8
je 0x41b30f
cmp cl, 0x17
je 0x41b30f
cmp cl, 0x1a
jne 0x41b413
cmp byte [ebp + 0x67], 0
jne 0x41b413
mov esi, dword [ebp + ebx*4 - 0x20]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b322
sub ecx, edx
lea eax, [esi - 2]
sar ecx, 1
lea eax, [eax + ecx*2]
cmp eax, esi
jb 0x41b413
cmp word [eax], 0x7b
jne 0x41b413
xor ecx, ecx
mov byte [ebp + 0x67], 1
mov word [eax], cx
cmp word [esi], cx
je 0x41b3e3
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b360
sub ecx, edx
lea eax, [esi - 2]
sar ecx, 1
lea eax, [eax + ecx*2]
movzx edx, word [eax]
cmp edx, 0x20
je 0x41b382
cmp edx, 9
jne 0x41b3d2
cmp eax, esi
je 0x41b3de
sub eax, 2
dec ecx
jmp 0x41b375
mov eax, dword [ebp + 0x48]
push ecx
push dword [eax*2 + 0x4d7c98]
lea eax, [ebp - 0xa68]
push str.__s__requires_that_parameter__u_be_non_blank.
push 0x400
push eax
call fcn.0047a7e0
mov ecx, dword [ebp + 0x54]
lea eax, [ebp - 0xa68]
add esp, 0x14
push dword [ebp + 0x70]
push eax
call fcn.00428f20
lea esp, [ebp - 0xa74]
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
jne 0x41b413
jmp 0x41b3e3
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp + 0x5c]
cmp al, 0xa
je 0x41b412
cmp al, 0x17
je 0x41b412
cmp al, 0x1a
je 0x41b412
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x54]
push str.Parameter_1_required
call fcn.00428f20
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
dec ebx
push dword [ebp + 0x60]
lea eax, [ebp - 0x6c]
push eax
push ebx
mov ebx, dword [ebp + 0x54]
lea eax, [ebp - 0x1c]
push eax
push dword [ebp + 0x74]
mov ecx, ebx
call fcn.0041b540
test eax, eax
je 0x41a514
cmp byte [ebp + 0x67], 0
je 0x41b453
push 0
push 0
push 0
push 0
push 3
mov ecx, ebx
call fcn.0041b540
test eax, eax
je 0x41a514
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x41a5c5
push 0
push 0
push 0
push eax
mov ecx, ebx
call fcn.00419fc0
lea esp, [ebp - 0xa74]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10