Function at 0x44b395
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1938
call fcn.00458250
push ebx
push esi
push edi
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
mov edi, ecx
mov dword [ebp - 0xc], edi
jne 0x44b3bf
cmp byte [ebp + 0x10], 0xff
jne 0x44b3bf
mov byte [ebp + 0x10], bl
mov byte [ebp - 0x11], bl
jmp 0x44b3c9
cmp byte [ebp + 0x10], 0
mov byte [ebp - 0x11], 1
jne 0x44b3fd
mov dword [ebp - 0x1c], ebx
push 0x20
call fcn.0044e80b
test eax, eax
pop ecx
je 0x44badd
push dword [ebp + 0x10]
xor ecx, ecx
push dword [ebp - 0x1c]
mov cx, word [edi + 0x48]
push dword [ebp + 8]
push dword [edi + 0x4c]
push ecx
mov ecx, eax
call fcn.0044fa6f
mov esi, eax
jmp 0x44badf
movzx esi, byte [ebp + 0x10]
mov eax, esi
shl eax, 4
push eax
mov dword [ebp - 0x28], esi
call fcn.0044e80b
cmp eax, ebx
pop ecx
mov dword [ebp - 0x1c], eax
jne 0x44b426
push 0x45a5d8
push str.Out_of_memory.
jmp 0x44c192
cmp esi, ebx
mov dword [ebp - 0x24], ebx
jle 0x44b3cc
mov eax, dword [ebp + 0x14]
test eax, eax
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp + 0xc]
mov esi, dword [edi + ecx*4]
je 0x44b445
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10], eax
jmp 0x44b449
and dword [ebp - 0x10], 0
mov ebx, ecx
shl ebx, 4
add ebx, dword [ebp - 0x1c]
cmp byte [ebp + 8], 0x2b
mov byte [ebx + 1], 0
jne 0x44b4b4
cmp ecx, 1
jne 0x44b48e
push esi
call fcn.004172d0
pop ecx
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x24]
push dword [ebp + 8]
call fcn.0044734b
test al, al
pop ecx
pop ecx
mov byte [ebx], al
je 0x44b54b
mov cl, byte [esi]
test cl, cl
jne 0x44b4dc
mov byte [ebx], cl
jmp 0x44b586
jle 0x44b46a
mov eax, dword [ebp - 0x2c]
test eax, eax
jl 0x44b4a6
cmp eax, 1
jle 0x44b46a
cmp eax, 2
jle 0x44b4a6
cmp eax, 5
jle 0x44b46a
push dword [ebp - 0x10]
push esi
call fcn.0044cf28
pop ecx
pop ecx
mov byte [ebx + 1], al
cmp byte [ebp + 8], 0x68
jne 0x44b46a
cmp dword [ebp - 0x24], 1
jne 0x44b46a
mov eax, dword [edi]
test eax, eax
je 0x44b46a
push str.Parse
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x44b46a
mov byte [ebx], 1
jmp 0x44b481
mov edx, dword [ebp - 0x10]
xor edi, edi
mov eax, esi
sub edx, esi
cmp cl, byte [0x465091]
jne 0x44b4f9
cmp dword [ebp - 0x10], 0
je 0x44b501
cmp byte [edx + eax], 0
je 0x44b501
inc edi
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x44b4e5
cmp byte [edi + esi], 0
jne 0x44b586
mov ecx, dword [ebp - 0xc]
xor edi, edi
push edi
push edi
push edi
push esi
call fcn.0040c0f7
cmp eax, edi
je 0x44c0f8
cmp byte [ebx], 2
jne 0x44b538
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x44b52f
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 2
ja 0x44baa5
mov dword [ebx + 4], 0x45a5d8
mov word [ebx + 2], di
mov dword [ebx + 8], eax
jmp 0x44ba8e
mov al, byte [esi]
cmp al, byte [0x465091]
jne 0x44b586
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x44b561
cmp byte [eax], 0
jne 0x44b586
mov al, byte [esi + 1]
cmp al, 0x20
je 0x44b56c
cmp al, 9
jne 0x44b586
inc esi
inc esi
cmp dword [ebp - 0x10], 0
mov byte [ebx + 1], 1
je 0x44b57c
add dword [ebp - 0x10], 2
cmp byte [ebp + 8], 1
jne 0x44b586
mov byte [ebp + 8], 2
push esi
call fcn.00457cb0
mov word [ebx + 2], ax
movzx eax, ax
push eax
push esi
call fcn.0044e882
add esp, 0xc
test eax, eax
mov dword [ebx + 4], eax
je 0x44c0f8
movzx ecx, byte [ebp + 8]
and dword [ebp - 0x18], 0
imul ecx, ecx, 0xe
add ecx, 0x465127
je 0x44b62b
mov edi, dword [ebp - 0x24]
lea esi, [edi + 1]
jmp 0x44b5cb
movzx edx, dl
cmp edx, esi
je 0x44b5d3
inc ecx
mov dl, byte [ecx]
test dl, dl
jne 0x44b5c3
jmp 0x44b62b
cmp byte [ebp + 8], 0x7d
jne 0x44b5f7
cmp edi, 1
jle 0x44b5f1
push str.default
push eax
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x44b62b
jmp 0x44b603
cmp byte [ebp + 0x10], 2
ja 0x44b62b
cmp byte [ebp + 8], 2
je 0x44b627
cmp byte [ebp + 8], 0x69
je 0x44b627
mov esi, dword [ebx + 4]
push str.__t____:____
push esi
call fcn.00439b0d
test eax, eax
pop ecx
pop ecx
jne 0x44b627
push dword [ebp - 0x10]
push esi
call fcn.0044cf28
pop ecx
pop ecx
mov byte [ebx + 1], al
jmp 0x44b62b
mov byte [ebx + 1], 1
cmp byte [ebx + 1], 0
je 0x44ba2b
push 0
push 1
push 1
push 1
push dword [ebx + 4]
call fcn.00401fbc
add esp, 0x14
test eax, eax
je 0x44b650
mov byte [ebx + 1], 0
cmp byte [ebx + 1], 0
je 0x44ba2b
mov esi, dword [ebx + 4]
mov ecx, esi
mov al, byte [ecx]
xor dl, dl
xor edi, edi
test al, al
je 0x44b6a3
movsx eax, al
sub eax, 0x22
je 0x44b68f
sub eax, 6
je 0x44b688
dec eax
jne 0x44b694
test dl, dl
jne 0x44b694
test edi, edi
je 0x44bab3
dec edi
jmp 0x44b694
test dl, dl
jne 0x44b694
inc edi
jmp 0x44b694
test dl, dl
sete dl
inc ecx
mov al, byte [ecx]
test al, al
jne 0x44b669
test edi, edi
jne 0x44babb
cmp byte [esi], 0
je 0x44ba8a
cmp byte [esi], 0x2e
jne 0x44b6b9
cmp byte [esi + 1], 0x3d
jne 0x44b6b9
inc esi
inc esi
cmp byte [esi], 0
je 0x44b9c2
movsx eax, byte [esi]
push eax
push 0x45d7b0
call fcn.00457de0
test eax, eax
pop ecx
pop ecx
je 0x44b6dc
inc esi
cmp byte [esi], 0
jne 0x44b6c2
mov al, byte [esi]
test al, al
je 0x44b9c2
cmp al, 0x22
jne 0x44b70b
lea eax, [esi + 1]
mov cl, byte [eax]
test cl, cl
je 0x44bac5
cmp cl, 0x22
jne 0x44b708
inc eax
cmp byte [eax], cl
mov dword [ebp - 8], eax
jne 0x44b9b6
inc eax
jmp 0x44b6ed
lea edi, [esi + 1]
mov eax, edi
mov dword [ebp - 8], eax
jmp 0x44b71b
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movsx eax, byte [eax]
push eax
push 0x45d7b0
call fcn.00457de0
test eax, eax
pop ecx
pop ecx
je 0x44b715
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x44b740
dec eax
cmp byte [eax], 0x2e
jne 0x44b740
mov dword [ebp - 8], eax
cmp byte [esi], 0x2e
jne 0x44b75d
movsx eax, byte [edi]
push eax
push 0x45dea8
call fcn.00457de0
test eax, eax
pop ecx
pop ecx
jne 0x44b9b6
mov eax, dword [ebp - 8]
sub eax, esi
cmp eax, 4
mov dword [ebp - 0x20], eax
jae 0x44b7c8
cmp eax, 1
jbe 0x44b7c8
cmp eax, 2
mov al, byte [esi]
jne 0x44b793
cmp al, 0x6f
je 0x44b77e
cmp al, 0x4f
jne 0x44b7c8
mov al, byte [edi]
cmp al, 0x72
je 0x44b788
cmp al, 0x52
jne 0x44b7c8
mov byte [esi], 0x7c
mov byte [edi], 0x7c
jmp 0x44b9b6
cmp al, 0x41
je 0x44b842
cmp al, 0x4e
je 0x44b7ab
cmp al, 0x61
je 0x44b842
cmp al, 0x6e
jne 0x44b7c8
mov al, byte [edi]
cmp al, 0x6f
je 0x44b7b5
cmp al, 0x4f
jne 0x44b7c8
mov al, byte [esi + 2]
cmp al, 0x74
je 0x44b9b6
cmp al, 0x54
je 0x44b9b6
mov eax, dword [ebp - 8]
mov cl, byte [eax]
push 0x45dea0
push esi
mov byte [ebp - 1], cl
mov byte [eax], 0
call fcn.00439b0d
test eax, eax
pop ecx
pop ecx
jne 0x44bacd
push eax
push 1
push eax
push 1
push esi
call fcn.00401fbc
add esp, 0x14
test eax, eax
jne 0x44b9ae
cmp byte [esi], 0x3f
jne 0x44b80c
cmp byte [edi], al
je 0x44b9ae
movsx eax, byte [0x465091]
cmp byte [ebp - 1], 0x28
push eax
push esi
sete byte [ebp - 0x12]
call fcn.00457de0
test eax, eax
pop ecx
pop ecx
je 0x44b904
cmp dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x30], eax
je 0x44b86e
mov eax, esi
sub eax, dword [ebx + 4]
add eax, dword [ebp - 0x10]
jmp 0x44b870
mov al, byte [edi]
cmp al, 0x6e
je 0x44b850
cmp al, 0x4e
jne 0x44b7c8
mov al, byte [esi + 2]
cmp al, 0x64
je 0x44b85f
cmp al, 0x44
jne 0x44b7c8
mov byte [esi], 0x26
mov byte [edi], 0x26
mov byte [esi + 2], 0x20
jmp 0x44b9b6
xor eax, eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1938]
push ecx
mov ecx, dword [ebp - 0xc]
push eax
push esi
call fcn.0044d068
test eax, eax
je 0x44c0f8
cmp byte [ebp - 0x12], 0
je 0x44b9ae
mov eax, dword [ebp - 8]
and dword [ebp - 0x20], 0
inc eax
push eax
call fcn.00401ea8
mov esi, eax
pop ecx
mov cl, byte [esi]
cmp cl, 0x29
je 0x44b8ef
xor edi, edi
xor al, al
inc edi
mov edx, edi
jmp 0x44b8e9
test edi, edi
je 0x44b8f2
cmp cl, 0x22
jne 0x44b8c6
test al, al
sete al
test al, al
jne 0x44b8e6
movsx ecx, cl
sub ecx, 0x28
je 0x44b8e5
dec ecx
je 0x44b8e2
sub ecx, 3
jne 0x44b8e6
cmp edi, 1
jne 0x44b8e6
inc edx
jmp 0x44b8e6
dec edi
jmp 0x44b8e6
inc edi
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x44b8b8
jmp 0x44b8f2
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
lea eax, [eax + eax*2]
mov byte [ebp + eax*4 - 0x192f], dl
jmp 0x44b9ae
cmp dword [ebp - 0x18], 0x200
jge 0x44bad5
mov edi, dword [ebp - 0x18]
mov ax, word [ebp - 0x20]
lea edi, [edi + edi*2]
shl edi, 2
mov dword [ebp + edi - 0x1938], esi
mov word [ebp + edi - 0x192e], ax
mov al, byte [ebp - 0x12]
test al, al
mov byte [ebp + edi - 0x1930], al
je 0x44b945
and dword [ebp + edi - 0x1934], 0
jmp 0x44b9ab
mov eax, dword [ebp - 8]
movsx eax, byte [eax - 1]
push eax
call fcn.00442990
cmp eax, 0x45
pop ecx
jne 0x44b98c
cmp byte [ebp - 1], 0x2b
je 0x44b964
cmp byte [ebp - 1], 0x2d
jne 0x44b98c
push 0x2e
push esi
call fcn.00457de0
test eax, eax
pop ecx
pop ecx
je 0x44b98c
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 8]
mov byte [ecx], al
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
mov al, byte [eax]
cmp al, 0x30
jl 0x44b9b6
cmp al, 0x39
jle 0x44b97a
jmp 0x44b9b6
mov ecx, dword [ebp - 0xc]
push 0
push 0
push dword [ebp - 0x20]
push esi
call fcn.0040c0f7
test eax, eax
mov dword [ebp + edi - 0x1934], eax
je 0x44c0f8
inc dword [ebp - 0x18]
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 8]
mov byte [ecx], al
mov esi, dword [ebp - 8]
cmp byte [esi], 0
jne 0x44b6ac
cmp dword [ebp - 0x18], 1
jne 0x44b9e7
push 0
push 0
push dword [ebx + 4]
call fcn.00450475
add esp, 0xc
test eax, eax
je 0x44b9f1
cmp byte [ebp + 8], 0x69
je 0x44ba52
mov byte [ebx + 1], 0
jmp 0x44ba52
cmp dword [ebp - 0x18], 0
je 0x44ba8a
push 0x45d7b0
push dword [ebx + 4]
call fcn.00439b0d
test eax, eax
pop ecx
pop ecx
jne 0x44ba4c
cmp byte [ebp - 0x1930], al
jne 0x44ba4c
mov eax, dword [ebp - 0x1938]
mov al, byte [eax]
cmp al, byte [0x465091]
jne 0x44ba4c
cmp byte [ebp + 8], 0x69
je 0x44ba4c
mov byte [ebx + 1], 0
mov byte [ebx], 1
jmp 0x44ba4c
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1938]
push eax
push dword [ebp - 0x10]
push dword [ebx + 4]
call fcn.0044d068
test eax, eax
je 0x44c0f8
cmp dword [ebp - 0x18], 0
je 0x44ba8a
mov esi, dword [ebp - 0x18]
lea esi, [esi + esi*2]
shl esi, 2
lea eax, [esi + 0xc]
push eax
call fcn.0044e80b
test eax, eax
pop ecx
mov dword [ebx + 8], eax
je 0x44bc96
push esi
lea ecx, [ebp - 0x1938]
push ecx
push eax
call fcn.004576b0
mov eax, dword [ebx + 8]
add esp, 0xc
and dword [esi + eax], 0
jmp 0x44ba8e
and dword [ebx + 8], 0
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x28]
jl 0x44b42d
mov edi, dword [ebp - 0xc]
jmp 0x44b3cc
push esi
push str.Not_allowed_as_an_output_variable.
mov ecx, dword [ebp - 0xc]
jmp 0x44c194
push ecx
push 0x45d768
jmp 0x44baab
push dword [ebx + 4]
push str.Missing____
jmp 0x44baab
push esi
push str.Missing_close_quote
jmp 0x44baab
push eax
push str.The_leftmost_character_above_is_illegal_in_an_expression.
jmp 0x44baab
push esi
push str.Too_many_var_func_refs.
jmp 0x44baab
xor esi, esi
test esi, esi
je 0x44b417
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
cmp dword [edi], 0
jne 0x44baf6
mov dword [edi], esi
jmp 0x44bafc
mov eax, dword [edi + 4]
mov dword [eax + 0x14], esi
cmp byte [ebp + 0x10], 0
mov eax, dword [ebp - 0x1c]
mov dword [edi + 4], esi
mov dword [edi + 0x23c], esi
jbe 0x44bb13
mov ebx, dword [eax + 4]
jmp 0x44bb18
mov ebx, 0x45a5d8
mov dl, byte [ebp + 0x10]
cmp dl, 1
jbe 0x44bb2d
mov ecx, dword [eax + 0x14]
mov dword [ebp + 0xc], ecx
mov ecx, 0x45a5d8
jmp 0x44bb35
mov ecx, 0x45a5d8
mov dword [ebp + 0xc], ecx
cmp dl, 2
jbe 0x44bb45
mov edx, dword [eax + 0x24]
mov dword [ebp + 0x14], edx
mov dl, byte [ebp + 0x10]
jmp 0x44bb48
mov dword [ebp + 0x14], ecx
cmp dl, 3
jbe 0x44bb55
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x20], eax
jmp 0x44bb58
mov dword [ebp - 0x20], ecx
movzx eax, byte [ebp + 8]
cmp eax, 0x18
jg 0x44bca5
cmp eax, 0x13
jge case.0x44bb7b.1
dec eax
cmp eax, 0x10
ja case.0x44bb7b.3
movzx eax, byte [eax + 0x44c1ab]
jmp dword [eax*4 + 0x44c19b]
cmp dl, 2
jae case.0x44bb7b.1
push 0x45a5d8
push str.Parameter_2_required
jmp 0x44c192
xor ecx, ecx
movzx eax, dl
inc ecx
cmp eax, ecx
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0x28], eax
jle case.0x44bb7b.3
mov ebx, dword [ebp - 0x1c]
add ebx, 0x14
mov edi, dword [ebx]
cmp byte [edi], 0
je 0x44bc26
push dword [ebp + 0x10]
mov ecx, esi
call fcn.00444504
test al, al
jne 0x44bc26
cmp byte [ebx - 3], al
jne 0x44bc26
xor eax, eax
push eax
push eax
push eax
push 1
push edi
call fcn.00401fbc
add esp, 0x14
test eax, eax
je 0x44bc26
cmp byte [ebp + 8], 1
je 0x44bbea
cmp byte [ebp + 8], 2
jne 0x44bc01
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
cmp al, 0x30
je 0x44bc26
cmp al, 0x2b
je 0x44bc26
mov eax, dword [ebp - 0x1c]
cmp word [eax + 0x12], 0x12
ja 0x44bc26
push 8
call fcn.0044e80b
test eax, eax
pop ecx
mov dword [ebx + 8], eax
je 0x44bc96
push dword [ebx]
call fcn.00401f02
pop ecx
mov ecx, dword [ebx + 8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x44bc2a
and dword [ebx + 8], 0
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
add ebx, 0x10
cmp eax, dword [ebp - 0x28]
jl 0x44bbb0
mov edi, dword [ebp - 0xc]
cmp byte [edi + 0x3c], 0
je 0x44bc64
mov eax, dword [edi + 0x18]
mov dword [eax + 4], esi
mov byte [edi + 0x3c], 0
mov eax, dword [0x465108]
mov eax, dword [eax + 0x94]
cmp byte [eax + 0x30], 0
jne 0x44bc64
mov byte [eax + 0x30], 2
cmp byte [ebp + 8], 0x6c
jne 0x44c0fc
mov eax, dword [edi + 0x18]
inc dword [edi + 0x38]
test eax, eax
je 0x44c131
cmp dword [eax + 4], 0
jne 0x44c131
mov dword [esi + 0xc], 1
mov byte [edi + 0x3c], 1
jmp 0x44c131
push 0x45a5d8
push str.Out_of_memory.
jmp 0x44baab
cmp eax, 0x36
je 0x44c0a6
cmp eax, 0x68
je 0x44befd
cmp eax, 0x69
je 0x44bef1
cmp eax, 0x8c
jle case.0x44bb7b.3
cmp eax, 0x90
jle 0x44be24
cmp eax, 0xbf
je 0x44bcf4
cmp eax, 0xd3
jne case.0x44bb7b.3
mov byte [0x46739c], 1
jmp case.0x44bb7b.3
cmp dl, 1
jb case.0x44bb7b.3
push 0
mov ecx, esi
call fcn.00444504
test al, al
je 0x44bd1c
xor eax, eax
inc eax
mov dword [0x4673a8], eax
mov dword [0x4673ac], eax
jmp case.0x44bb7b.3
push 5
push str.Float
push ebx
call fcn.00442545
add esp, 0xc
test eax, eax
jne 0x44bd9b
push str.Fast
add ebx, 5
push ebx
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x44bd4e
mov dword [0x4673ac], 1
cmp byte [ebp + 0x10], 1
jbe case.0x44bb7b.3
push 1
mov ecx, esi
call fcn.00444504
test al, al
jne case.0x44bb7b.3
push 1
push 1
push 0
push 1
push dword [ebp + 0xc]
call fcn.00401fbc
add esp, 0x14
test eax, eax
je 0x44bf90
push dword [ebp + 0xc]
call fcn.00457cb0
cmp eax, 0x1e
pop ecx
jb case.0x44bb7b.3
jmp 0x44bf90
push 7
push str.Integer
push ebx
call fcn.00442545
add esp, 0xc
test eax, eax
jne 0x44be19
push str.Fast
add ebx, 7
push ebx
call fcn.00442502
test eax, eax
pop ecx
pop ecx
je 0x44bdcd
mov dword [0x4673a8], 1
cmp byte [ebp + 0x10], 1
jbe case.0x44bb7b.3
push 1
mov ecx, esi
call fcn.00444504
test al, al
jne case.0x44bb7b.3
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
push eax
call fcn.00442990
cmp eax, 0x48
pop ecx
je case.0x44bb7b.3
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
push eax
call fcn.00442990
cmp eax, 0x44
pop ecx
je case.0x44bb7b.3
jmp 0x44bf90
push ebx
push str.Parameter_1_invalid
jmp 0x44c192
push 0
mov ecx, esi
call fcn.00444504
test al, al
jne 0x44be46
push 1
push ebx
mov ecx, edi
call fcn.0044fb8b
test eax, eax
mov dword [esi + 0xc], eax
je 0x44c0f8
cmp byte [ebp + 8], 0x8e
je 0x44beb0
cmp byte [ebp + 8], 0x8f
je 0x44beb0
cmp byte [ebp + 8], 0x90
jne case.0x44bb7b.3
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je case.0x44bb7b.3
push 1
mov ecx, esi
call fcn.00444504
test al, al
jne case.0x44bb7b.3
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00457cb0
cmp eax, 1
pop ecx
ja 0x44bf90
movsx eax, byte [ebx]
push eax
call fcn.00442990
push eax
push 0x45de40
call fcn.00457de0
add esp, 0xc
test eax, eax
jne case.0x44bb7b.3
jmp 0x44bf90
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je case.0x44bb7b.3
push 1
mov ecx, esi
call fcn.00444504
test al, al
jne case.0x44bb7b.3
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00457cb0
cmp eax, 1
pop ecx
ja 0x44bf90
movsx eax, byte [ebx]
push eax
call fcn.00442990
cmp eax, 0x52
jmp 0x44be0d
mov dword [esi + 0xc], 7
jmp case.0x44bb7b.3
movzx eax, dl
sub eax, 0
je case.0x44bb7b.8
dec eax
mov ecx, esi
push 0
je 0x44c04e
call fcn.00444504
test al, al
jne 0x44c08e
push str.Read
push ebx
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x44bf3e
mov dword [esi + 0xc], 5
jmp case.0x44bb7b.3
push str.Parse
push ebx
call fcn.00442502
test eax, eax
pop ecx
pop ecx
jne 0x44bf5b
mov dword [esi + 0xc], 6
jmp case.0x44bb7b.3
push 0
push ebx
call fcn.0041a263
neg eax
sbb eax, eax
neg eax
add eax, 3
cmp eax, 3
pop ecx
pop ecx
mov dword [esi + 0xc], eax
jne 0x44bfe8
push 1
mov ecx, esi
call fcn.00444504
test al, al
jne 0x44bf9d
push dword [ebp + 0xc]
call fcn.00416d44
test eax, eax
pop ecx
jne 0x44bf9d
push dword [ebp + 0xc]
push str.Parameter_2_invalid
jmp 0x44c192
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
je case.0x44bb7b.3
push 2
mov ecx, esi
call fcn.00444504
test al, al
jne case.0x44bb7b.3
mov ebx, dword [ebp + 0x14]
push ebx
call fcn.00457cb0
cmp eax, 1
pop ecx
ja 0x44bfdb
mov al, byte [ebx]
cmp al, 0x30
je case.0x44bb7b.3
cmp al, 0x31
je case.0x44bb7b.3
push dword [ebp + 0x14]
push str.Parameter_3_invalid
jmp 0x44c192
cmp byte [ebp + 0x10], 2
jbe 0x44c008
push 2
mov ecx, esi
call fcn.00444504
test al, al
jne 0x44c008
push dword [ebp + 0x14]
call fcn.00416d44
test eax, eax
pop ecx
je 0x44bfdb
mov ebx, dword [ebp - 0x20]
cmp byte [ebx], 0
je case.0x44bb7b.3
push 3
mov ecx, esi
call fcn.00444504
test al, al
jne case.0x44bb7b.3
push ebx
call fcn.00457cb0
cmp eax, 1
pop ecx
ja 0x44c043
mov al, byte [ebx]
cmp al, 0x30
je case.0x44bb7b.3
cmp al, 0x31
je case.0x44bb7b.3
push ebx
push str.Parameter_4_invalid
jmp 0x44c192
call fcn.00444504
test al, al
jne 0x44c08e
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 1], 0
jne 0x44c08e
xor eax, eax
push eax
push eax
push 1
push eax
push ebx
call fcn.00401fbc
add esp, 0x14
test eax, eax
jne case.0x44bb7b.8
push eax
push ebx
call fcn.0041a263
neg eax
sbb eax, eax
neg eax
pop ecx
add eax, 3
pop ecx
mov dword [esi + 0xc], eax
jmp case.0x44bb7b.3
mov dword [esi + 0xc], 1
jmp case.0x44bb7b.3
mov dword [esi + 0xc], 2
jmp case.0x44bb7b.3
cmp byte [ebx], 0
je case.0x44bb7b.3
push 0
mov ecx, esi
call fcn.00444504
test al, al
jne case.0x44bb7b.3
push ebx
push 0x45de0c
lea eax, [ebp - 0x138]
push 0x107
push eax
call fcn.0040a6d3
add esp, 0x10
xor ebx, ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x138]
push eax
mov ecx, edi
call fcn.0040c0f7
cmp eax, ebx
mov dword [esi + 0xc], eax
jne case.0x44bb7b.3
xor eax, eax
jmp 0x44c169
cmp byte [ebp + 8], 0x6d
jne 0x44c131
dec dword [edi + 0x38]
mov edx, dword [0x465108]
mov eax, dword [edi + 0x38]
xor ecx, ecx
cmp dword [edx + 0x94], ecx
je 0x44c131
cmp eax, ecx
jne 0x44c131
mov dword [esi + 0xc], 1
mov eax, dword [0x465108]
mov dword [eax + 0x94], ecx
mov dword [edi + 0x40], ecx
cmp byte [ebp - 0x11], 0
je 0x44c163
mov eax, dword [edi + 0x10]
jmp 0x44c15f
cmp dword [eax + 4], 0
jne 0x44c163
mov cl, byte [esi]
cmp cl, 0x6c
jne 0x44c14f
cmp dword [esi + 0xc], 1
je 0x44c170
cmp cl, 9
je 0x44c17c
cmp cl, 0x6d
je 0x44c188
mov dword [eax + 4], esi
mov eax, dword [eax + 8]
test eax, eax
jne 0x44c13c
inc dword [edi + 8]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0x10
push 0x45a5d8
push str.A_label_must_not_point_to_a_function.
jmp 0x44c192
push 0x45a5d8
push str.A_label_must_not_point_to_an_ELSE.
jmp 0x44c192
push 0x45a5d8
push str.A_label_must_not_point_to_the_end_of_a_block._For_loops__use_Continue_vs._Goto.
mov ecx, edi
call fcn.0044c37d
jmp 0x44c169