Function at 0x43ec20
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 0x43ec44
sub ecx, edx
sar ecx, 1
mov dword [ebp + 0x44], ecx
test bl, bl
je 0x43ed08
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 0x43ecc8
mov edi, ebx
test ebx, ebx
je 0x43ecc8
movzx eax, word [ebx]
test ax, ax
je 0x43ecc5
mov esi, eax
nop word [eax + eax]
mov ecx, str.__t_____:________n.
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x43f806
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x43eca0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x43ec90
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.0x43ed01.13
movzx eax, byte [eax + 0x4400c8]
mov dl, cl
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
mov edx, dword [ebp + 0x44]
jmp dword [eax*4 + 0x4400b4]
push 6
push str.global
push edi
call fcn.0049f442
add esp, 0xc
test eax, eax
jne 0x43ed21
lea ebx, [eax + 0x41]
jmp 0x43ed5a
push 5
push str.local
push edi
call fcn.0049f442
add esp, 0xc
test eax, eax
jne 0x43ed3d
lea ebx, [eax + 0x42]
lea eax, [ebx - 0x38]
jmp 0x43ed5f
push 6
push 0x4d21b4
push edi
call fcn.0049f442
add esp, 0xc
test eax, eax
jne 0x43f1c4
mov ebx, 0x62
mov eax, 0xc
add edi, eax
mov dword [ebp + 0x50], ebx
movzx eax, word [edi]
test ax, ax
je 0x43f16f
cmp eax, 0x20
je 0x43ed80
cmp eax, 9
jne 0x43f1c1
nop
cmp ax, 0x20
je 0x43ed8c
cmp ax, 9
jne 0x43ed95
movzx eax, word [edi + 2]
add edi, 2
jmp 0x43ed80
test ax, ax
je 0x43f16f
cmp ax, 0x7f
ja 0x43edbe
movzx eax, ax
push eax
call fcn.004a35f0
add esp, 4
test eax, eax
jne 0x43edbe
cmp word [edi], 0x5f
jne 0x43f1c1
mov eax, dword [0x4e4788]
cmp dword [eax + 0x18], 0
jne 0x43edd2
test bl, 2
jne 0x43f1a2
cmp word [edi], 0
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x73], 0
je 0x43f18d
mov eax, ebx
and eax, 1
mov dword [ebp + 0x44], eax
nop
lea esi, [edi + 2]
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43ee0e
push eax
call fcn.004a35f0
add esp, 4
test eax, eax
jne 0x43ee0e
cmp word [esi], 0x5f
jne 0x43ee13
add esi, 2
jmp 0x43edf3
mov ebx, esi
xor edx, edx
sub ebx, edi
mov dword [ebp + 0x74], edx
sar ebx, 1
cmp dword [ebp + 0x44], edx
je 0x43ee3d
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x58]
push ebx
push edi
call fcn.00443d70
mov edx, eax
mov dword [ebp + 0x74], edx
test edx, edx
je 0x43ef4f
mov ecx, dword [0x4e4788]
cmp dword [ecx + 0x18], 0
je 0x43ef20
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.00443e10
mov ecx, eax
test ecx, ecx
jne 0x43ef0d
cmp dword [ebp + 0x78], eax
je 0x43ef4f
cmp dword [ebp + 0x74], eax
je 0x43ef34
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 0x43eed6
test eax, eax
je 0x43eead
add eax, eax
jmp 0x43eeb2
mov eax, 0x20
mov dword [ebp + 0x3c], eax
shl eax, 2
push eax
push dword [ebx]
call fcn.0049f3e8
add esp, 8
test eax, eax
je 0x43f0e3
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 0x43eeff
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.0049cf00
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 0x43f105
nop
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x43ef2f
cmp eax, 9
jne 0x43ef61
add esi, 2
jmp 0x43ef20
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.00444540
mov ecx, eax
test ecx, ecx
jne 0x43ef10
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 0x43f095
cmp ecx, 0x2c
je 0x43f0ce
cmp eax, 0x3a
jne 0x43ef84
cmp word [esi + 2], 0x3d
jne 0x43ef84
add esi, 4
jmp 0x43efe8
push eax
push str.__.
call fcn.0049ce4f
add esp, 8
test eax, eax
je 0x43ef9d
cmp word [esi + 2], 0x3d
je 0x43efe8
movzx eax, word [esi]
push eax
push 0x4d7a88
call fcn.0049ce4f
add esp, 8
test eax, eax
je 0x43f151
movzx ecx, word [esi]
cmp word [esi + 2], cx
jne 0x43f151
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x43efe8
cmp ecx, 0x3e
jne 0x43f151
cmp eax, ecx
jne 0x43f151
cmp word [esi + 6], 0x3d
jne 0x43f151
push 0
push 0
mov edx, 0x2c
mov ecx, esi
call fcn.00483d50
add esp, 8
mov ecx, edi
lea esi, [esi + eax*2]
lea edx, [esi - 2]
call fcn.004138c0
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 0x43f03b
cmp byte [ebp + 0x73], al
jne 0x43f03b
mov ecx, dword [ebp + 0x58]
push eax
push eax
push eax
push eax
push 3
call fcn.00440180
test eax, eax
je 0x43ef4f
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.0043ec20
test eax, eax
je 0x43ef4f
mov eax, dword [ebp + 0x74]
mov word [ebx + 2], ax
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x2c
jne 0x43f085
lea edi, [esi + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x43f080
cmp eax, 9
jne 0x43f089
add edi, 2
jmp 0x43f073
mov edi, esi
mov eax, ecx
movzx eax, ax
test ax, ax
jne 0x43edf0
cmp byte [ebp + 0x73], 0
je 0x43f18d
mov ecx, dword [ebp + 0x58]
push 0
push 0
push 0
push 0
push 4
call fcn.00440180
test eax, eax
je 0x43ef4f
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 0x43f0de
cmp eax, 9
jne 0x43f08c
add edi, 2
jmp 0x43f0d1
mov ecx, dword [ebp + 0x58]
push 0x4cee90
push str.Out_of_memory.
call fcn.0040d780
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
test dl, 2
je 0x43f133
test dl, 0x20
mov eax, 0x4d21b4
mov edx, str.local
push ecx
cmove eax, edx
mov ecx, ebx
push eax
call fcn.0040d850
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.0040d850
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.0040d780
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp ebx, 0x42
je 0x43f1a2
cmp byte [esi + 0x54], 0
jne 0x43f182
mov eax, dword [esi + 0x50]
cmp eax, dword [esi + 4]
jne 0x43f1a2
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.0040d780
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 0x43f1df
push eax
call fcn.004a35f0
add esp, 4
test eax, eax
jne 0x43f1df
cmp word [edi], 0x5f
jne 0x43f1e4
add edi, 2
jmp 0x43f1c4
mov ecx, dword [ebp + 0x70]
mov esi, edi
sub esi, ecx
mov dword [ebp + 0x5c], edi
sar esi, 1
je 0x43f264
cmp esi, 0xfd
ja 0x43f264
push esi
push ecx
lea eax, [ebp - 0x264]
push eax
call fcn.004aa8c4
add esp, 0xc
mov ebx, edi
xor eax, eax
mov word [ebp + esi*2 - 0x264], ax
movzx eax, word [ebx]
cmp eax, 0x20
je 0x43f224
cmp eax, 9
jne 0x43f229
add ebx, 2
jmp 0x43f217
movzx ecx, word [edi]
test cx, cx
je 0x43f240
cmp ecx, 0x20
je 0x43f240
cmp ecx, 9
je 0x43f240
cmp ecx, 0x28
jne 0x43f257
cmp eax, 0x3d
je 0x43f257
cmp eax, 0x3a
je 0x43f257
mov ecx, dword [ebp + 0x70]
mov byte [ebp + 0x4f], 1
mov byte [ebp + 0x63], 0
jmp 0x43f278
mov ecx, dword [ebp + 0x70]
mov byte [ebp + 0x4f], 0
mov byte [ebp + 0x63], 0
jmp 0x43f278
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 0x43f285
cmp edi, 0x27
jne 0x43f2ea
mov eax, dword [ebp + 0x78]
lea ebx, [ecx + 2]
add eax, 2
nop
movzx ecx, word [ebx]
cmp cx, di
jne 0x43f2c5
cmp dword [ebp + 0x78], 0
je 0x43f2a4
cmp word [eax], 0
jne 0x43f2e2
test cx, cx
je 0x43f2ea
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f2a9
cmp eax, 9
je 0x43f2a9
mov edi, dword [ebp + 0x70]
cmp eax, 0x2e
cmovne ebx, edi
jmp 0x43f2ed
test cx, cx
je 0x43f2ea
cmp ecx, 0x60
jne 0x43f2e2
cmp dword [ebp + 0x78], 0
jne 0x43f2e2
cmp word [ebx + 2], 0
je 0x43f2e2
add eax, 2
add ebx, 2
add eax, 2
add ebx, 2
jmp 0x43f290
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.0x43f309.39
movzx eax, byte [eax + 0x4400fc]
jmp dword [eax*4 + 0x4400dc]
cmp ecx, 0x3d
jne case.0x43f309.39
cmp word [ebx + 4], 0
sete al
inc al
mov dword [ebp + 0x64], eax
jmp 0x43f361
mov edi, dword [ebp + 0x5c]
test edi, edi
jne 0x43f334
cmp cx, dx
je 0x43f33d
cmp ecx, 0x3d
jne 0x43f533
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ecc8
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 0x43f575
cmp al, 1
jne 0x43f3b0
push 0
push 2
mov edx, 0x2c
mov ecx, ebx
call fcn.00483d50
add esp, 8
cmp word [ebx + eax*2], 0
je 0x43f399
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ecc8
mov eax, 0x2c
mov word [ebx], ax
mov eax, 0x20
mov word [esi], ax
mov ebx, edi
jmp 0x43ecc5
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ec72
cmp ecx, 0x3d
je case.0x43f309.63
cmp ecx, 0x2f
jne case.0x43f309.39
cmp word [ebx + 4], 0x3d
jmp 0x43f3fa
cmp cx, dx
jne case.0x43f309.39
movzx eax, word [ebx + 4]
cmp eax, 0x3d
je case.0x43f309.63
cmp ecx, 0x3e
jne case.0x43f309.39
cmp eax, ecx
jne case.0x43f309.39
cmp word [ebx + 6], 0x3d
jne case.0x43f309.39
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ecc8
cmp ecx, 0x3d
jne 0x43f423
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ecc8
mov edi, esi
movzx eax, word [edi]
cmp eax, 0x7f
ja 0x43f442
push eax
call fcn.004a35f0
add esp, 4
test eax, eax
jne 0x43f442
movzx eax, word [edi]
cmp eax, 0x5f
jne 0x43f447
add edi, 2
jmp 0x43f425
cmp eax, 0x28
je 0x43f33d
cmp eax, 0x25
je 0x43f33d
cmp edi, esi
je case.0x43f309.39
cmp eax, 0x20
je 0x43f46f
mov byte [ebp + 0x62], 0
cmp eax, 9
jne 0x43f473
mov byte [ebp + 0x62], 1
mov esi, edi
cmp ax, 0x20
je 0x43f481
cmp ax, 9
jne 0x43f48a
movzx eax, word [esi + 2]
add esi, 2
jmp 0x43f475
movzx ecx, ax
test ax, ax
je 0x43f512
cmp ax, 0x5b
je 0x43f33d
cmp word [esi + 2], 0x3d
jne 0x43f4bd
push eax
push str.:__.
call fcn.0049ce4f
add esp, 8
test eax, eax
jne 0x43f33d
movzx eax, word [esi]
mov ecx, eax
cmp word [esi + 2], ax
jne 0x43f512
push eax
push 0x4d7a88
call fcn.0049ce4f
add esp, 8
test eax, eax
je 0x43f4e5
cmp word [esi + 4], 0x3d
je 0x43f33d
movzx eax, word [esi]
cmp eax, 0x2b
je 0x43f33d
cmp eax, 0x2d
je 0x43f33d
mov ecx, eax
cmp eax, 0x3e
jne 0x43f512
cmp word [esi + 4], ax
jne 0x43f525
cmp word [esi + 6], 0x3d
je 0x43f33d
cmp cx, 0x2e
jne 0x43f520
add esi, 2
jmp 0x43f423
test cx, cx
je 0x43f52b
cmp byte [ebp + 0x62], 0
je case.0x43f309.39
mov dword [ebp + 0x5c], edi
jmp 0x43f540
mov edi, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x64]
cmp byte [ebp + 0x4f], 0
je 0x43f5e5
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.0049f2c1
add esp, 8
test eax, eax
je 0x43f57a
inc dword [ebp + 0x54]
add esi, 6
cmp esi, 0x4e4842
jle 0x43f550
jmp 0x43f58b
mov edi, dword [ebp + 0x5c]
jmp 0x43f536
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
test al, al
jne 0x43ec72
movzx eax, word [edi]
cmp eax, 0x28
je 0x43f5ed
mov cx, word [ebp - 0x264]
cmp cx, 0x30
jb 0x43f5a6
cmp cx, 0x39
jbe 0x43f5ed
mov edx, dword [ebp + 0x44]
test ax, ax
mov esi, dword [ebp + 0x70]
mov eax, 0x28
je 0x43f5bb
mov word [edi], ax
jmp 0x43f5c0
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 0x43ecc8
test al, al
jne 0x43ec72
movzx eax, word [ebx]
cmp eax, 0x7b
jne 0x43f6a4
mov ecx, 8
mov esi, 0x4e47d0
mov dword [ebp + 0x54], ecx
push dword [esi]
lea eax, [ebp - 0x264]
push eax
call fcn.0049f2c1
add esp, 8
test eax, eax
je 0x43f62d
inc dword [ebp + 0x54]
add esi, 6
cmp esi, 0x4e4842
jle 0x43f606
xor cl, cl
jmp 0x43f630
mov ecx, dword [ebp + 0x54]
movzx eax, cl
add eax, 0xfffffff7
cmp eax, 0x11
ja case.0x43f642.11
movzx eax, byte [eax + 0x440160]
jmp dword [eax*4 + 0x440154]
cmp word [ebx + 2], 0
jne case.0x43f642.11
mov al, cl
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
test cl, cl
jne 0x43ecc8
movzx eax, word [ebx]
push eax
push str.__t_____:________n._
call fcn.0049ce4f
add esp, 8
test eax, eax
je 0x43f73f
movzx eax, word [ebx]
cmp eax, 0x2b
je 0x43f68a
cmp eax, 0x2d
jne 0x43f711
cmp word [ebx + 2], ax
jne 0x43f711
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ecc8
cmp eax, 0x3a
jne case.0x43f642.11
lea eax, [ebp - 0x264]
push 0x4d4610
push eax
call fcn.0049f2c1
add esp, 8
test eax, eax
jne case.0x43f642.11
mov esi, dword [ebp + 0x58]
mov ecx, esi
push eax
push eax
push eax
push eax
push 0x1b
call fcn.00440180
test eax, eax
je 0x43ef4f
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f6d9
cmp eax, 9
je 0x43f6d9
test ax, ax
je 0x43f18d
push 0
push 0
push 0
push ebx
mov ecx, esi
call fcn.0043ec20
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push 0x3f
push ebx
call fcn.0049ce4f
add esp, 8
test eax, eax
je 0x43f73f
push 0x3a
push eax
call fcn.0049ce4f
add esp, 8
test eax, eax
je 0x43f73f
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ecc8
test edi, edi
je 0x43f758
movzx eax, word [edi]
cmp eax, 0x28
je 0x43f7f4
cmp eax, 0x5b
je 0x43f7f4
movzx eax, word [ebx]
mov esi, dword [ebp + 0x70]
cmp eax, 0x25
je 0x43f7f7
cmp word [esi], 0x28
je 0x43f7f7
cmp eax, 0x3d
jne 0x43f79a
cmp word [ebx + 2], ax
je 0x43f7bd
mov ecx, dword [ebp + 0x58]
push esi
push str.Syntax_error._Did_you_mean_to_use__:__
call fcn.0040d780
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
cmp eax, 0x2c
jne 0x43f7bd
mov ecx, dword [ebp + 0x58]
push esi
push str.Function_calls_require_a_space_or____.__Use_comma_only_between_parameters.
call fcn.0040d780
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push 0x4d7038
push esi
call fcn.0049d83e
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.0040d780
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 0x43ecc8
cmp edi, ebx
jbe 0x43ecc5
movzx ecx, word [edi]
mov dword [ebp + 0x54], ecx
cmp ecx, 0x20
je 0x43f827
cmp ecx, 9
je 0x43f827
cmp ecx, 0x2c
jne 0x43ecc5
mov edx, dword [ebp + 0x64]
mov eax, edi
movzx esi, cx
nop
mov byte [ebp + 0x62], dl
cmp si, 0x20
je 0x43f83f
cmp si, 9
jne 0x43f848
movzx esi, word [eax + 2]
add eax, 2
jmp 0x43f830
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.0049f2c1
add esp, 8
test eax, eax
jne 0x43f87e
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 0x43f902
push ebx
push 0x4d7c0c
call fcn.0049f2c1
add esp, 8
test eax, eax
jne 0x43f8a3
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 0x43f902
push ebx
push str.Read
call fcn.0049f2c1
add esp, 8
test eax, eax
jne 0x43f8c8
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 0x43f902
push ebx
push str.Parse
call fcn.0049f2c1
add esp, 8
test eax, eax
jne 0x43f8ea
mov al, 0xe
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
mov eax, dword [ebp + 0x3c]
mov word [edi], ax
jmp 0x43f902
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 0x43f925
mov ebx, dword [ebp + 0x40]
cmp si, 0x2c
jne 0x43ecc5
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f90f
cmp eax, 9
je 0x43f90f
jmp 0x43ecc5
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
cmp si, 0x2c
jne 0x43ecc8
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Invalid_loop_type.
call fcn.0040d780
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
mov esi, ebx
jmp 0x43f95c
mov esi, dword [ebp + 0x5c]
mov al, cl
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
test esi, esi
je 0x43fa02
cmp word [esi], 0x28
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
jne 0x43fa02
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 0x43f9c7
cmp byte [ebp + 0x64], 0xf
je 0x43f99e
mov edx, dword [ebp + 0x64]
cmp dl, 0x17
jne 0x43f9c7
add eax, 0xfffffffe
mov byte [ebp + 0x63], 1
cmp eax, esi
jbe 0x43f9c4
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43f9bd
cmp ecx, 9
jne 0x43f9c4
sub eax, 2
cmp eax, esi
ja 0x43f9b0
movzx ecx, word [eax]
mov dl, byte [ebp + 0x62]
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
cmp cx, 0x29
jne 0x43fa02
add eax, 0xfffffffe
add ebx, 2
cmp eax, esi
jbe 0x43f9f4
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43f9ed
cmp ecx, 9
jne 0x43f9f4
sub eax, 2
cmp eax, esi
ja 0x43f9e0
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.0x43ed01.13
cmp word [ebx], 0x7b
jne case.0x43ed01.13
jmp 0x43fa1b
mov esi, dword [ebp + 0x5c]
test esi, esi
je 0x43fa45
cmp word [esi], 0x28
jne 0x43fa45
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Syntax_error.
call fcn.0040d780
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 0x43fa66
mov byte [ebp + 0x63], 1
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43fa53
cmp eax, 9
je 0x43fa53
mov ecx, eax
test cx, cx
je case.0x43ed01.13
mov dword [ebp + 0x54], ebx
sub ebx, 2
xor eax, eax
mov word [ebx], ax
jmp case.0x43ed01.13
push 0
push 0
mov edx, 0x3a
mov ecx, ebx
call fcn.00483d50
add esp, 8
cmp word [ebx + eax*2], 0
lea esi, [ebx + eax*2]
jne 0x43fabc
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Missing__:_
call fcn.0040d780
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 0x43fb08
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43fad0
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [ebx + eax*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43faf2
cmp ecx, 9
jne 0x43fafb
cmp eax, ebx
je 0x43fb03
sub eax, 2
jmp 0x43fae5
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x43fb08
xor ecx, ecx
mov word [eax], cx
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x43fb08
cmp eax, 9
je 0x43fb08
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.0x43ed01.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 0x43fb57
mov eax, ebx
sub eax, dword [ebp + 0x70]
sar eax, 1
lea edi, [ecx + eax*2]
mov dword [ebp + 0x44], edi
jmp 0x43fb7d
mov esi, dword [ebp + 0x44]
add esi, esi
mov eax, esi
call fcn.004b59b0
mov edi, esp
push esi
push 0
push edi
mov dword [ebp + 0x44], edi
call fcn.0049dbd0
add esp, 0xc
mov edx, edi
mov ecx, ebx
call fcn.00483c30
mov eax, dword [ebp + 0x64]
cmp al, 0x14
ja 0x43fb88
cmp al, 0x12
jae 0x43fb95
mov edx, 1
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
jmp 0x43fb98
mov edx, dword [ebp + 0x50]
cmp al, 0xf
jne 0x43fc5d
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 0x43fbbb
or eax, 0x20
jmp 0x43fbbd
mov edi, eax
cmp ax, 0x69
jne 0x43fbe0
mov cx, word [esi + 2]
call fcn.0040c2e0
cmp ax, 0x6e
jne 0x43fbe0
movzx eax, word [esi + 4]
cmp eax, 0x20
je 0x43fc42
cmp eax, 9
je 0x43fc42
cmp word [ebp + 0x78], 0x7f
ja 0x43fc05
push edi
call fcn.004a3680
add esp, 4
test eax, eax
jne 0x43fc05
movzx eax, word [esi]
cmp eax, 0x5f
je 0x43fc05
cmp eax, 0x2c
jne 0x43fa25
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43fc22
push eax
call fcn.004a35f0
add esp, 4
test eax, eax
jne 0x43fc22
movzx eax, word [esi]
cmp eax, 0x5f
jne 0x43fc27
add esi, 2
jmp 0x43fc05
cmp eax, 0x2c
jne 0x43fc30
add esi, 2
nop
movzx eax, word [esi]
cmp eax, 0x20
je 0x43fc2c
cmp eax, 9
je 0x43fc2c
jmp 0x43fba5
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 0x43fc6d
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 0x43fddf
cmp esi, edi
jge 0x43fddf
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 0x43fd40
push edi
push ecx
mov edx, 0x2c
mov ecx, ebx
call fcn.00483d50
add esp, 8
mov ecx, eax
cmp word [ebx + ecx*2], 0
je 0x43fdc2
cmp esi, dword [ebp + 0x38]
je 0x43fdd8
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 0x43fd9a
mov edx, eax
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x43fd00
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 0x43fd2e
cmp edx, 9
jne 0x43fd90
cmp word [eax], 0
jne 0x43fd90
test esi, esi
je 0x43fd7c
dec esi
sub eax, 2
jmp 0x43fd20
movzx eax, word [ebx + ecx*2]
cmp eax, 0x2c
jne 0x43fd5f
test edi, edi
je 0x43fcc5
cmp word [edi + ecx*2], 0
je 0x43fcc5
inc ecx
jmp 0x43fd40
test ax, ax
je 0x43fcc5
cmp eax, 0x60
jne 0x43fd79
test edi, edi
jne 0x43fd79
cmp word [ebx + ecx*2 + 2], di
je 0x43fd79
inc ecx
inc ecx
jmp 0x43fd40
cmp edx, 0x20
je 0x43fd86
cmp edx, 9
jne 0x43fd9a
mov eax, dword [ebp + 0x78]
xor edx, edx
mov word [eax], dx
jmp 0x43fd9a
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 0x43fdb3
cmp edx, 9
jne 0x43fdbf
cmp word [eax], 0
jne 0x43fdbf
inc ecx
add eax, 2
jmp 0x43fda5
mov esi, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x3c]
inc esi
cmp word [ebx + ecx*2], 0
mov dword [ebp + 0x5c], esi
je 0x43fddf
mov edx, dword [ebp + 0x50]
jmp 0x43fc91
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 0x43fe4b
cmp byte [ebp + 0x7b], 1
mov ecx, 0x4cee90
mov eax, 0x4d7c88
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.00481840
mov ecx, dword [ebp + 0x58]
lea eax, [ebp - 0xa64]
add esp, 0x18
push dword [ebp + 0x70]
push eax
call fcn.0040d780
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 0x43feb6
cmp bl, 2
je 0x43feb6
cmp bl, 0x17
je 0x43feb6
mov ecx, 0x4cee90
cmp edi, 1
mov eax, 0x4d7c88
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.00481840
mov ecx, dword [ebp + 0x58]
lea eax, [ebp - 0xa64]
add esp, 0x18
push dword [ebp + 0x70]
push eax
call fcn.0040d780
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 0x43fec1
mov edx, esi
jmp 0x43fec9
cmp bl, 0x17
jne 0x43fec9
lea edx, [esi - 1]
test edx, edx
jle 0x43fee7
nop dword [eax]
lea ecx, [eax + 1]
mov eax, dword [ebp + eax*4 - 0x18]
cmp word [eax], 0
je 0x43ff90
mov eax, ecx
cmp eax, edx
jl 0x43fed0
test esi, esi
je 0x43ffe7
cmp bl, 0xa
jb 0x43fef9
cmp bl, 0x10
jbe 0x43ff0c
cmp bl, 8
je 0x43ff0c
cmp bl, 0x17
je 0x43ff0c
cmp bl, 0x1a
jne 0x44000b
cmp byte [ebp + 0x63], 0
jne 0x43ffe7
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 0x43ff20
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
cmp eax, esi
jb 0x43ffe4
cmp word [eax], 0x7b
jne 0x43ffe4
xor ecx, ecx
mov byte [ebp + 0x63], 1
mov word [eax], cx
cmp word [esi], cx
je 0x440079
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ff60
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
movzx edx, word [eax]
cmp edx, 0x20
je 0x43ff82
cmp edx, 9
jne 0x43ffd6
cmp eax, esi
je 0x440074
sub eax, 2
dec ecx
jmp 0x43ff75
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.00481840
mov ecx, dword [ebp + 0x58]
lea eax, [ebp - 0xa64]
add esp, 0x14
push dword [ebp + 0x70]
push eax
call fcn.0040d780
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 0x440079
mov esi, dword [ebp + 0x5c]
cmp bl, 0x1a
jne 0x44000b
test esi, esi
je 0x44000b
mov eax, dword [ebp - 0x18]
cmp word [eax], 0
jne 0x44000b
mov ecx, dword [ebp + 0x58]
push 0x4cee90
push str.Parameter_1_must_not_be_blank_in_this_case.
call fcn.0040d780
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.00440180
test eax, eax
je 0x43ef4f
cmp byte [ebp + 0x63], 0
je 0x44004b
push 0
push 0
push 0
push 0
push 3
mov ecx, esi
call fcn.00440180
test eax, eax
je 0x43ef4f
mov eax, dword [ebp + 0x54]
test eax, eax
je 0x43f18d
push 0
push 0
push 0
push eax
mov ecx, esi
call fcn.0043ec20
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 0x4400a8
cmp bl, 0x17
je 0x4400a8
cmp bl, 0x1a
je 0x4400a8
push dword [ebp + 0x70]
mov ecx, dword [ebp + 0x58]
push str.Parameter_1_required
call fcn.0040d780
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 0x43ffe7