Function at 0x43ec70
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 0x43ec94
sub ecx, edx
sar ecx, 1
mov dword [ebp + 0x44], ecx
test bl, bl
je 0x43ed58
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 0x43ed18
mov edi, ebx
test ebx, ebx
je 0x43ed18
movzx eax, word [ebx]
test ax, ax
je 0x43ed15
mov esi, eax
nop word [eax + eax]
mov ecx, str.__t_____:________n.
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x43f856
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x43ecf0
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x43ece0
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.0x43ed51.13
movzx eax, byte [eax + 0x440118]
mov dl, cl
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
mov edx, dword [ebp + 0x44]
jmp dword [eax*4 + 0x440104]
push 6
push str.global
push edi
call fcn.0049f572
add esp, 0xc
test eax, eax
jne 0x43ed71
lea ebx, [eax + 0x41]
jmp 0x43edaa
push 5
push str.local
push edi
call fcn.0049f572
add esp, 0xc
test eax, eax
jne 0x43ed8d
lea ebx, [eax + 0x42]
lea eax, [ebx - 0x38]
jmp 0x43edaf
push 6
push 0x4d21bc
push edi
call fcn.0049f572
add esp, 0xc
test eax, eax
jne 0x43f214
mov ebx, 0x62
mov eax, 0xc
add edi, eax
mov dword [ebp + 0x50], ebx
movzx eax, word [edi]
test ax, ax
je 0x43f1bf
cmp eax, 0x20
je 0x43edd0
cmp eax, 9
jne 0x43f211
nop
cmp ax, 0x20
je 0x43eddc
cmp ax, 9
jne 0x43ede5
movzx eax, word [edi + 2]
add edi, 2
jmp 0x43edd0
test ax, ax
je 0x43f1bf
cmp ax, 0x7f
ja 0x43ee0e
movzx eax, ax
push eax
call fcn.004a3720
add esp, 4
test eax, eax
jne 0x43ee0e
cmp word [edi], 0x5f
jne 0x43f211
mov eax, dword [0x4e4788]
cmp dword [eax + 0x18], 0
jne 0x43ee22
test bl, 2
jne 0x43f1f2
cmp word [edi], 0
mov eax, dword [esi + 0x48]
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x73], 0
je 0x43f1dd
mov eax, ebx
and eax, 1
mov dword [ebp + 0x44], eax
nop
lea esi, [edi + 2]
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43ee5e
push eax
call fcn.004a3720
add esp, 4
test eax, eax
jne 0x43ee5e
cmp word [esi], 0x5f
jne 0x43ee63
add esi, 2
jmp 0x43ee43
mov ebx, esi
xor edx, edx
sub ebx, edi
mov dword [ebp + 0x74], edx
sar ebx, 1
cmp dword [ebp + 0x44], edx
je 0x43ee8d
push dword [ebp + 0x50]
mov ecx, dword [ebp + 0x58]
push ebx
push edi
call fcn.00443da0
mov edx, eax
mov dword [ebp + 0x74], edx
test edx, edx
je 0x43ef9f
mov ecx, dword [0x4e4788]
cmp dword [ecx + 0x18], 0
je 0x43ef70
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.00443e40
mov ecx, eax
test ecx, ecx
jne 0x43ef5d
cmp dword [ebp + 0x78], eax
je 0x43ef9f
cmp dword [ebp + 0x74], eax
je 0x43ef84
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 0x43ef26
test eax, eax
je 0x43eefd
add eax, eax
jmp 0x43ef02
mov eax, 0x20
mov dword [ebp + 0x3c], eax
shl eax, 2
push eax
push dword [ebx]
call fcn.0049f518
add esp, 8
test eax, eax
je 0x43f133
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 0x43ef4f
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.0049d030
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 0x43f155
nop
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x43ef7f
cmp eax, 9
jne 0x43efb1
add esi, 2
jmp 0x43ef70
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.00444570
mov ecx, eax
test ecx, ecx
jne 0x43ef60
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 0x43f0e5
cmp ecx, 0x2c
je 0x43f11e
cmp eax, 0x3a
jne 0x43efd4
cmp word [esi + 2], 0x3d
jne 0x43efd4
add esi, 4
jmp 0x43f038
push eax
push str.__.
call fcn.0049cf7f
add esp, 8
test eax, eax
je 0x43efed
cmp word [esi + 2], 0x3d
je 0x43f038
movzx eax, word [esi]
push eax
push 0x4d7a58
call fcn.0049cf7f
add esp, 8
test eax, eax
je 0x43f1a1
movzx ecx, word [esi]
cmp word [esi + 2], cx
jne 0x43f1a1
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x43f038
cmp ecx, 0x3e
jne 0x43f1a1
cmp eax, ecx
jne 0x43f1a1
cmp word [esi + 6], 0x3d
jne 0x43f1a1
push 0
push 0
mov edx, 0x2c
mov ecx, esi
call fcn.00483e80
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 0x43f08b
cmp byte [ebp + 0x73], al
jne 0x43f08b
mov ecx, dword [ebp + 0x58]
push eax
push eax
push eax
push eax
push 3
call fcn.004401d0
test eax, eax
je 0x43ef9f
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.0043ec70
test eax, eax
je 0x43ef9f
mov eax, dword [ebp + 0x74]
mov word [ebx + 2], ax
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x2c
jne 0x43f0d5
lea edi, [esi + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x43f0d0
cmp eax, 9
jne 0x43f0d9
add edi, 2
jmp 0x43f0c3
mov edi, esi
mov eax, ecx
movzx eax, ax
test ax, ax
jne 0x43ee40
cmp byte [ebp + 0x73], 0
je 0x43f1dd
mov ecx, dword [ebp + 0x58]
push 0
push 0
push 0
push 0
push 4
call fcn.004401d0
test eax, eax
je 0x43ef9f
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 0x43f12e
cmp eax, 9
jne 0x43f0dc
add edi, 2
jmp 0x43f121
mov ecx, dword [ebp + 0x58]
push 0x4cee98
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 0x43f183
test dl, 0x20
mov eax, 0x4d21bc
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 0x43f1f2
cmp byte [esi + 0x54], 0
jne 0x43f1d2
mov eax, dword [esi + 0x50]
cmp eax, dword [esi + 4]
jne 0x43f1f2
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 0x43f22f
push eax
call fcn.004a3720
add esp, 4
test eax, eax
jne 0x43f22f
cmp word [edi], 0x5f
jne 0x43f234
add edi, 2
jmp 0x43f214
mov ecx, dword [ebp + 0x70]
mov esi, edi
sub esi, ecx
mov dword [ebp + 0x5c], edi
sar esi, 1
je 0x43f2b4
cmp esi, 0xfd
ja 0x43f2b4
push esi
push ecx
lea eax, [ebp - 0x264]
push eax
call fcn.004aa9f4
add esp, 0xc
mov ebx, edi
xor eax, eax
mov word [ebp + esi*2 - 0x264], ax
movzx eax, word [ebx]
cmp eax, 0x20
je 0x43f274
cmp eax, 9
jne 0x43f279
add ebx, 2
jmp 0x43f267
movzx ecx, word [edi]
test cx, cx
je 0x43f290
cmp ecx, 0x20
je 0x43f290
cmp ecx, 9
je 0x43f290
cmp ecx, 0x28
jne 0x43f2a7
cmp eax, 0x3d
je 0x43f2a7
cmp eax, 0x3a
je 0x43f2a7
mov ecx, dword [ebp + 0x70]
mov byte [ebp + 0x4f], 1
mov byte [ebp + 0x63], 0
jmp 0x43f2c8
mov ecx, dword [ebp + 0x70]
mov byte [ebp + 0x4f], 0
mov byte [ebp + 0x63], 0
jmp 0x43f2c8
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 0x43f2d5
cmp edi, 0x27
jne 0x43f33a
mov eax, dword [ebp + 0x78]
lea ebx, [ecx + 2]
add eax, 2
nop
movzx ecx, word [ebx]
cmp cx, di
jne 0x43f315
cmp dword [ebp + 0x78], 0
je 0x43f2f4
cmp word [eax], 0
jne 0x43f332
test cx, cx
je 0x43f33a
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f2f9
cmp eax, 9
je 0x43f2f9
mov edi, dword [ebp + 0x70]
cmp eax, 0x2e
cmovne ebx, edi
jmp 0x43f33d
test cx, cx
je 0x43f33a
cmp ecx, 0x60
jne 0x43f332
cmp dword [ebp + 0x78], 0
jne 0x43f332
cmp word [ebx + 2], 0
je 0x43f332
add eax, 2
add ebx, 2
add eax, 2
add ebx, 2
jmp 0x43f2e0
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.0x43f359.39
movzx eax, byte [eax + 0x44014c]
jmp dword [eax*4 + 0x44012c]
cmp ecx, 0x3d
jne case.0x43f359.39
cmp word [ebx + 4], 0
sete al
inc al
mov dword [ebp + 0x64], eax
jmp 0x43f3b1
mov edi, dword [ebp + 0x5c]
test edi, edi
jne 0x43f384
cmp cx, dx
je 0x43f38d
cmp ecx, 0x3d
jne 0x43f583
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed18
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 0x43f5c5
cmp al, 1
jne 0x43f400
push 0
push 2
mov edx, 0x2c
mov ecx, ebx
call fcn.00483e80
add esp, 8
cmp word [ebx + eax*2], 0
je 0x43f3e9
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed18
mov eax, 0x2c
mov word [ebx], ax
mov eax, 0x20
mov word [esi], ax
mov ebx, edi
jmp 0x43ed15
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ecc2
cmp ecx, 0x3d
je case.0x43f359.63
cmp ecx, 0x2f
jne case.0x43f359.39
cmp word [ebx + 4], 0x3d
jmp 0x43f44a
cmp cx, dx
jne case.0x43f359.39
movzx eax, word [ebx + 4]
cmp eax, 0x3d
je case.0x43f359.63
cmp ecx, 0x3e
jne case.0x43f359.39
cmp eax, ecx
jne case.0x43f359.39
cmp word [ebx + 6], 0x3d
jne case.0x43f359.39
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed18
cmp ecx, 0x3d
jne 0x43f473
mov al, 2
mov ebx, edi
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed18
mov edi, esi
movzx eax, word [edi]
cmp eax, 0x7f
ja 0x43f492
push eax
call fcn.004a3720
add esp, 4
test eax, eax
jne 0x43f492
movzx eax, word [edi]
cmp eax, 0x5f
jne 0x43f497
add edi, 2
jmp 0x43f475
cmp eax, 0x28
je 0x43f38d
cmp eax, 0x25
je 0x43f38d
cmp edi, esi
je case.0x43f359.39
cmp eax, 0x20
je 0x43f4bf
mov byte [ebp + 0x62], 0
cmp eax, 9
jne 0x43f4c3
mov byte [ebp + 0x62], 1
mov esi, edi
cmp ax, 0x20
je 0x43f4d1
cmp ax, 9
jne 0x43f4da
movzx eax, word [esi + 2]
add esi, 2
jmp 0x43f4c5
movzx ecx, ax
test ax, ax
je 0x43f562
cmp ax, 0x5b
je 0x43f38d
cmp word [esi + 2], 0x3d
jne 0x43f50d
push eax
push str.:__.
call fcn.0049cf7f
add esp, 8
test eax, eax
jne 0x43f38d
movzx eax, word [esi]
mov ecx, eax
cmp word [esi + 2], ax
jne 0x43f562
push eax
push 0x4d7a58
call fcn.0049cf7f
add esp, 8
test eax, eax
je 0x43f535
cmp word [esi + 4], 0x3d
je 0x43f38d
movzx eax, word [esi]
cmp eax, 0x2b
je 0x43f38d
cmp eax, 0x2d
je 0x43f38d
mov ecx, eax
cmp eax, 0x3e
jne 0x43f562
cmp word [esi + 4], ax
jne 0x43f575
cmp word [esi + 6], 0x3d
je 0x43f38d
cmp cx, 0x2e
jne 0x43f570
add esi, 2
jmp 0x43f473
test cx, cx
je 0x43f57b
cmp byte [ebp + 0x62], 0
je case.0x43f359.39
mov dword [ebp + 0x5c], edi
jmp 0x43f590
mov edi, dword [ebp + 0x5c]
mov eax, dword [ebp + 0x64]
cmp byte [ebp + 0x4f], 0
je 0x43f635
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.0049f3f1
add esp, 8
test eax, eax
je 0x43f5ca
inc dword [ebp + 0x54]
add esi, 6
cmp esi, 0x4e4842
jle 0x43f5a0
jmp 0x43f5db
mov edi, dword [ebp + 0x5c]
jmp 0x43f586
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
test al, al
jne 0x43ecc2
movzx eax, word [edi]
cmp eax, 0x28
je 0x43f63d
mov cx, word [ebp - 0x264]
cmp cx, 0x30
jb 0x43f5f6
cmp cx, 0x39
jbe 0x43f63d
mov edx, dword [ebp + 0x44]
test ax, ax
mov esi, dword [ebp + 0x70]
mov eax, 0x28
je 0x43f60b
mov word [edi], ax
jmp 0x43f610
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 0x43ed18
test al, al
jne 0x43ecc2
movzx eax, word [ebx]
cmp eax, 0x7b
jne 0x43f6f4
mov ecx, 8
mov esi, 0x4e47d0
mov dword [ebp + 0x54], ecx
push dword [esi]
lea eax, [ebp - 0x264]
push eax
call fcn.0049f3f1
add esp, 8
test eax, eax
je 0x43f67d
inc dword [ebp + 0x54]
add esi, 6
cmp esi, 0x4e4842
jle 0x43f656
xor cl, cl
jmp 0x43f680
mov ecx, dword [ebp + 0x54]
movzx eax, cl
add eax, 0xfffffff7
cmp eax, 0x11
ja case.0x43f692.11
movzx eax, byte [eax + 0x4401b0]
jmp dword [eax*4 + 0x4401a4]
cmp word [ebx + 2], 0
jne case.0x43f692.11
mov al, cl
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
test cl, cl
jne 0x43ed18
movzx eax, word [ebx]
push eax
push str.__t_____:________n._
call fcn.0049cf7f
add esp, 8
test eax, eax
je 0x43f78f
movzx eax, word [ebx]
cmp eax, 0x2b
je 0x43f6da
cmp eax, 0x2d
jne 0x43f761
cmp word [ebx + 2], ax
jne 0x43f761
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed18
cmp eax, 0x3a
jne case.0x43f692.11
lea eax, [ebp - 0x264]
push 0x4d4618
push eax
call fcn.0049f3f1
add esp, 8
test eax, eax
jne case.0x43f692.11
mov esi, dword [ebp + 0x58]
mov ecx, esi
push eax
push eax
push eax
push eax
push 0x1b
call fcn.004401d0
test eax, eax
je 0x43ef9f
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f729
cmp eax, 9
je 0x43f729
test ax, ax
je 0x43f1dd
push 0
push 0
push 0
push ebx
mov ecx, esi
call fcn.0043ec70
lea esp, [ebp - 0xa70]
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x68]
pop ebp
ret 0x10
push 0x3f
push ebx
call fcn.0049cf7f
add esp, 8
test eax, eax
je 0x43f78f
push 0x3a
push eax
call fcn.0049cf7f
add esp, 8
test eax, eax
je 0x43f78f
mov ebx, dword [ebp + 0x70]
mov al, 2
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
jmp 0x43ed18
test edi, edi
je 0x43f7a8
movzx eax, word [edi]
cmp eax, 0x28
je 0x43f844
cmp eax, 0x5b
je 0x43f844
movzx eax, word [ebx]
mov esi, dword [ebp + 0x70]
cmp eax, 0x25
je 0x43f847
cmp word [esi], 0x28
je 0x43f847
cmp eax, 0x3d
jne 0x43f7ea
cmp word [ebx + 2], ax
je 0x43f80d
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 0x43f80d
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 0x4d7040
push esi
call fcn.0049d96e
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 0x43ed18
cmp edi, ebx
jbe 0x43ed15
movzx ecx, word [edi]
mov dword [ebp + 0x54], ecx
cmp ecx, 0x20
je 0x43f877
cmp ecx, 9
je 0x43f877
cmp ecx, 0x2c
jne 0x43ed15
mov edx, dword [ebp + 0x64]
mov eax, edi
movzx esi, cx
nop
mov byte [ebp + 0x62], dl
cmp si, 0x20
je 0x43f88f
cmp si, 9
jne 0x43f898
movzx esi, word [eax + 2]
add eax, 2
jmp 0x43f880
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.0049f3f1
add esp, 8
test eax, eax
jne 0x43f8ce
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 0x43f952
push ebx
push 0x4d7bdc
call fcn.0049f3f1
add esp, 8
test eax, eax
jne 0x43f8f3
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 0x43f952
push ebx
push str.Read
call fcn.0049f3f1
add esp, 8
test eax, eax
jne 0x43f918
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 0x43f952
push ebx
push str.Parse
call fcn.0049f3f1
add esp, 8
test eax, eax
jne 0x43f93a
mov al, 0xe
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
mov eax, dword [ebp + 0x3c]
mov word [edi], ax
jmp 0x43f952
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 0x43f975
mov ebx, dword [ebp + 0x40]
cmp si, 0x2c
jne 0x43ed15
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43f95f
cmp eax, 9
je 0x43f95f
jmp 0x43ed15
mov dword [ebp + 0x64], eax
mov byte [ebp + 0x74], al
cmp si, 0x2c
jne 0x43ed18
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 0x43f9ac
mov esi, dword [ebp + 0x5c]
mov al, cl
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
test esi, esi
je 0x43fa52
cmp word [esi], 0x28
mov dword [ebp + 0x50], eax
mov byte [ebp + 0x48], al
jne 0x43fa52
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 0x43fa17
cmp byte [ebp + 0x64], 0xf
je 0x43f9ee
mov edx, dword [ebp + 0x64]
cmp dl, 0x17
jne 0x43fa17
add eax, 0xfffffffe
mov byte [ebp + 0x63], 1
cmp eax, esi
jbe 0x43fa14
nop dword [eax]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43fa0d
cmp ecx, 9
jne 0x43fa14
sub eax, 2
cmp eax, esi
ja 0x43fa00
movzx ecx, word [eax]
mov dl, byte [ebp + 0x62]
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
cmp cx, 0x29
jne 0x43fa52
add eax, 0xfffffffe
add ebx, 2
cmp eax, esi
jbe 0x43fa44
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43fa3d
cmp ecx, 9
jne 0x43fa44
sub eax, 2
cmp eax, esi
ja 0x43fa30
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.0x43ed51.13
cmp word [ebx], 0x7b
jne case.0x43ed51.13
jmp 0x43fa6b
mov esi, dword [ebp + 0x5c]
test esi, esi
je 0x43fa95
cmp word [esi], 0x28
jne 0x43fa95
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 0x43fab6
mov byte [ebp + 0x63], 1
movzx eax, word [ebx + 2]
add ebx, 2
cmp eax, 0x20
je 0x43faa3
cmp eax, 9
je 0x43faa3
mov ecx, eax
test cx, cx
je case.0x43ed51.13
mov dword [ebp + 0x54], ebx
sub ebx, 2
xor eax, eax
mov word [ebx], ax
jmp case.0x43ed51.13
push 0
push 0
mov edx, 0x3a
mov ecx, ebx
call fcn.00483e80
add esp, 8
cmp word [ebx + eax*2], 0
lea esi, [ebx + eax*2]
jne 0x43fb0c
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 0x43fb58
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43fb20
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [ebx + eax*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x43fb42
cmp ecx, 9
jne 0x43fb4b
cmp eax, ebx
je 0x43fb53
sub eax, 2
jmp 0x43fb35
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x43fb58
xor ecx, ecx
mov word [eax], cx
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x43fb58
cmp eax, 9
je 0x43fb58
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.0x43ed51.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 0x43fba7
mov eax, ebx
sub eax, dword [ebp + 0x70]
sar eax, 1
lea edi, [ecx + eax*2]
mov dword [ebp + 0x44], edi
jmp 0x43fbcd
mov esi, dword [ebp + 0x44]
add esi, esi
mov eax, esi
call fcn.004b5ae0
mov edi, esp
push esi
push 0
push edi
mov dword [ebp + 0x44], edi
call fcn.0049dd00
add esp, 0xc
mov edx, edi
mov ecx, ebx
call fcn.00483d60
mov eax, dword [ebp + 0x64]
cmp al, 0x14
ja 0x43fbd8
cmp al, 0x12
jae 0x43fbe5
mov edx, 1
mov dword [ebp + 0x50], edx
mov byte [ebp + 0x48], dl
jmp 0x43fbe8
mov edx, dword [ebp + 0x50]
cmp al, 0xf
jne 0x43fcad
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 0x43fc0b
or eax, 0x20
jmp 0x43fc0d
mov edi, eax
cmp ax, 0x69
jne 0x43fc30
mov cx, word [esi + 2]
call fcn.0040c2e0
cmp ax, 0x6e
jne 0x43fc30
movzx eax, word [esi + 4]
cmp eax, 0x20
je 0x43fc92
cmp eax, 9
je 0x43fc92
cmp word [ebp + 0x78], 0x7f
ja 0x43fc55
push edi
call fcn.004a37b0
add esp, 4
test eax, eax
jne 0x43fc55
movzx eax, word [esi]
cmp eax, 0x5f
je 0x43fc55
cmp eax, 0x2c
jne 0x43fa75
movzx eax, word [esi]
cmp eax, 0x7f
ja 0x43fc72
push eax
call fcn.004a3720
add esp, 4
test eax, eax
jne 0x43fc72
movzx eax, word [esi]
cmp eax, 0x5f
jne 0x43fc77
add esi, 2
jmp 0x43fc55
cmp eax, 0x2c
jne 0x43fc80
add esi, 2
nop
movzx eax, word [esi]
cmp eax, 0x20
je 0x43fc7c
cmp eax, 9
je 0x43fc7c
jmp 0x43fbf5
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 0x43fcbd
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 0x43fe2f
cmp esi, edi
jge 0x43fe2f
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 0x43fd90
push edi
push ecx
mov edx, 0x2c
mov ecx, ebx
call fcn.00483e80
add esp, 8
mov ecx, eax
cmp word [ebx + ecx*2], 0
je 0x43fe12
cmp esi, dword [ebp + 0x38]
je 0x43fe28
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 0x43fdea
mov edx, eax
lea esi, [edx + 2]
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x43fd50
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 0x43fd7e
cmp edx, 9
jne 0x43fde0
cmp word [eax], 0
jne 0x43fde0
test esi, esi
je 0x43fdcc
dec esi
sub eax, 2
jmp 0x43fd70
movzx eax, word [ebx + ecx*2]
cmp eax, 0x2c
jne 0x43fdaf
test edi, edi
je 0x43fd15
cmp word [edi + ecx*2], 0
je 0x43fd15
inc ecx
jmp 0x43fd90
test ax, ax
je 0x43fd15
cmp eax, 0x60
jne 0x43fdc9
test edi, edi
jne 0x43fdc9
cmp word [ebx + ecx*2 + 2], di
je 0x43fdc9
inc ecx
inc ecx
jmp 0x43fd90
cmp edx, 0x20
je 0x43fdd6
cmp edx, 9
jne 0x43fdea
mov eax, dword [ebp + 0x78]
xor edx, edx
mov word [eax], dx
jmp 0x43fdea
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 0x43fe03
cmp edx, 9
jne 0x43fe0f
cmp word [eax], 0
jne 0x43fe0f
inc ecx
add eax, 2
jmp 0x43fdf5
mov esi, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x3c]
inc esi
cmp word [ebx + ecx*2], 0
mov dword [ebp + 0x5c], esi
je 0x43fe2f
mov edx, dword [ebp + 0x50]
jmp 0x43fce1
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 0x43fe9b
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.00481970
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 0x43ff06
cmp bl, 2
je 0x43ff06
cmp bl, 0x17
je 0x43ff06
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.00481970
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 0x43ff11
mov edx, esi
jmp 0x43ff19
cmp bl, 0x17
jne 0x43ff19
lea edx, [esi - 1]
test edx, edx
jle 0x43ff37
nop dword [eax]
lea ecx, [eax + 1]
mov eax, dword [ebp + eax*4 - 0x18]
cmp word [eax], 0
je 0x43ffe0
mov eax, ecx
cmp eax, edx
jl 0x43ff20
test esi, esi
je 0x440037
cmp bl, 0xa
jb 0x43ff49
cmp bl, 0x10
jbe 0x43ff5c
cmp bl, 8
je 0x43ff5c
cmp bl, 0x17
je 0x43ff5c
cmp bl, 0x1a
jne 0x44005b
cmp byte [ebp + 0x63], 0
jne 0x440037
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 0x43ff70
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
cmp eax, esi
jb 0x440034
cmp word [eax], 0x7b
jne 0x440034
xor ecx, ecx
mov byte [ebp + 0x63], 1
mov word [eax], cx
cmp word [esi], cx
je 0x4400c9
mov ecx, esi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43ffb0
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
movzx edx, word [eax]
cmp edx, 0x20
je 0x43ffd2
cmp edx, 9
jne 0x440026
cmp eax, esi
je 0x4400c4
sub eax, 2
dec ecx
jmp 0x43ffc5
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.00481970
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 0x4400c9
mov esi, dword [ebp + 0x5c]
cmp bl, 0x1a
jne 0x44005b
test esi, esi
je 0x44005b
mov eax, dword [ebp - 0x18]
cmp word [eax], 0
jne 0x44005b
mov ecx, dword [ebp + 0x58]
push 0x4cee98
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.004401d0
test eax, eax
je 0x43ef9f
cmp byte [ebp + 0x63], 0
je 0x44009b
push 0
push 0
push 0
push 0
push 3
mov ecx, esi
call fcn.004401d0
test eax, eax
je 0x43ef9f
mov eax, dword [ebp + 0x54]
test eax, eax
je 0x43f1dd
push 0
push 0
push 0
push eax
mov ecx, esi
call fcn.0043ec70
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 0x4400f8
cmp bl, 0x17
je 0x4400f8
cmp bl, 0x1a
je 0x4400f8
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 0x440037