Function at 0x44b08f
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1830
call fcn.00457ed0
push ebx
push esi
push edi
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
mov edi, ecx
mov dword [ebp - 0xc], edi
jne 0x44b0b9
cmp byte [ebp + 0x10], 0xff
jne 0x44b0b9
mov byte [ebp + 0x10], bl
mov byte [ebp - 0x1a], bl
jmp 0x44b0c3
cmp byte [ebp + 0x10], 0
mov byte [ebp - 0x1a], 1
jne 0x44b0f5
mov dword [ebp - 0x20], ebx
push 0x20
call fcn.0044e48a
test eax, eax
pop ecx
je 0x44b7db
push dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [edi + 0x48]
push ebx
push dword [ebp + 8]
push dword [edi + 0x4c]
push ecx
mov ecx, eax
call fcn.0044f6ee
mov esi, eax
jmp 0x44b7dd
movzx esi, byte [ebp + 0x10]
mov eax, esi
shl eax, 4
push eax
mov dword [ebp - 0x28], esi
call fcn.0044e48a
mov ebx, eax
test ebx, ebx
pop ecx
mov dword [ebp - 0x20], ebx
jne 0x44b120
push 0x45a5d8
push str.Out_of_memory.
jmp 0x44be11
and dword [ebp - 0x14], 0
test esi, esi
jle 0x44b0c6
mov eax, dword [ebp + 0x14]
test eax, eax
mov ecx, dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
mov esi, dword [edi + ecx*4]
je 0x44b140
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10], eax
jmp 0x44b144
and dword [ebp - 0x10], 0
mov ebx, ecx
shl ebx, 4
add ebx, dword [ebp - 0x20]
cmp byte [ebp + 8], 0x2b
mov byte [ebx + 1], 0
jne 0x44b1af
cmp ecx, 1
jne 0x44b189
push esi
call fcn.0041730c
pop ecx
mov dword [ebp - 0x30], eax
push dword [ebp - 0x14]
push dword [ebp + 8]
call fcn.0044707b
test al, al
pop ecx
pop ecx
mov byte [ebx], al
je 0x44b246
mov cl, byte [esi]
test cl, cl
jne 0x44b1d7
mov byte [ebx], cl
jmp 0x44b281
jle 0x44b165
mov eax, dword [ebp - 0x30]
test eax, eax
jl 0x44b1a1
cmp eax, 1
jle 0x44b165
cmp eax, 2
jle 0x44b1a1
cmp eax, 5
jle 0x44b165
push dword [ebp - 0x10]
push esi
call fcn.0044cba7
pop ecx
pop ecx
mov byte [ebx + 1], al
cmp byte [ebp + 8], 0x68
jne 0x44b165
cmp dword [ebp - 0x14], 1
jne 0x44b165
mov eax, dword [edi]
test eax, eax
je 0x44b165
push str.Parse
push eax
call fcn.00442231
test eax, eax
pop ecx
pop ecx
jne 0x44b165
mov byte [ebx], 1
jmp 0x44b17c
mov edx, dword [ebp - 0x10]
xor edi, edi
mov eax, esi
sub edx, esi
cmp cl, byte [0x465091]
jne 0x44b1f4
cmp dword [ebp - 0x10], 0
je 0x44b1fc
cmp byte [edx + eax], 0
je 0x44b1fc
inc edi
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x44b1e0
cmp byte [edi + esi], 0
jne 0x44b281
mov ecx, dword [ebp - 0xc]
xor edi, edi
push edi
push edi
push edi
push esi
call fcn.0040c0f3
cmp eax, edi
je 0x44badf
cmp byte [ebx], 2
jne 0x44b233
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x44b22a
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 2
ja 0x44b7a3
mov dword [ebx + 4], 0x45a5d8
mov word [ebx + 2], di
mov dword [ebx + 8], eax
jmp 0x44b789
mov al, byte [esi]
cmp al, byte [0x465091]
jne 0x44b281
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x44b25c
cmp byte [eax], 0
jne 0x44b281
mov al, byte [esi + 1]
cmp al, 0x20
je 0x44b267
cmp al, 9
jne 0x44b281
inc esi
inc esi
cmp dword [ebp - 0x10], 0
mov byte [ebx + 1], 1
je 0x44b277
add dword [ebp - 0x10], 2
cmp byte [ebp + 8], 1
jne 0x44b281
mov byte [ebp + 8], 2
push esi
call fcn.00457930
mov word [ebx + 2], ax
movzx eax, ax
push eax
push esi
call fcn.0044e501
add esp, 0xc
test eax, eax
mov dword [ebx + 4], eax
je 0x44badf
movzx ecx, byte [ebp + 8]
and dword [ebp - 0x18], 0
imul ecx, ecx, 0xe
add ecx, 0x465127
je 0x44b326
mov edi, dword [ebp - 0x14]
lea esi, [edi + 1]
jmp 0x44b2c6
movzx edx, dl
cmp edx, esi
je 0x44b2ce
inc ecx
mov dl, byte [ecx]
test dl, dl
jne 0x44b2be
jmp 0x44b326
cmp byte [ebp + 8], 0x7d
jne 0x44b2f2
cmp edi, 1
jle 0x44b2ec
push str.default
push eax
call fcn.00442231
test eax, eax
pop ecx
pop ecx
je 0x44b326
jmp 0x44b2fe
cmp byte [ebp + 0x10], 2
ja 0x44b326
cmp byte [ebp + 8], 2
je 0x44b322
cmp byte [ebp + 8], 0x69
je 0x44b322
mov esi, dword [ebx + 4]
push str.__t____:____
push esi
call fcn.004398da
test eax, eax
pop ecx
pop ecx
jne 0x44b322
push dword [ebp - 0x10]
push esi
call fcn.0044cba7
pop ecx
pop ecx
mov byte [ebx + 1], al
jmp 0x44b326
mov byte [ebx + 1], 1
cmp byte [ebx + 1], 0
je 0x44b726
push 0
push 1
push 1
push 1
push dword [ebx + 4]
call fcn.00401fbc
add esp, 0x14
test eax, eax
je 0x44b34b
mov byte [ebx + 1], 0
cmp byte [ebx + 1], 0
je 0x44b726
mov esi, dword [ebx + 4]
mov ecx, esi
mov al, byte [ecx]
xor dl, dl
xor edi, edi
test al, al
je 0x44b39e
movsx eax, al
sub eax, 0x22
je 0x44b38a
sub eax, 6
je 0x44b383
dec eax
jne 0x44b38f
test dl, dl
jne 0x44b38f
test edi, edi
je 0x44b7b1
dec edi
jmp 0x44b38f
test dl, dl
jne 0x44b38f
inc edi
jmp 0x44b38f
test dl, dl
sete dl
inc ecx
mov al, byte [ecx]
test al, al
jne 0x44b364
test edi, edi
jne 0x44b7b9
cmp byte [esi], 0
je 0x44b785
cmp byte [esi], 0x2e
jne 0x44b3b4
cmp byte [esi + 1], 0x3d
jne 0x44b3b4
inc esi
inc esi
cmp byte [esi], 0
je 0x44b6bd
movsx eax, byte [esi]
push eax
push 0x45d7a8
call fcn.00457a60
test eax, eax
pop ecx
pop ecx
je 0x44b3d7
inc esi
cmp byte [esi], 0
jne 0x44b3bd
mov al, byte [esi]
test al, al
je 0x44b6bd
cmp al, 0x22
jne 0x44b406
lea eax, [esi + 1]
mov cl, byte [eax]
test cl, cl
je 0x44b7c3
cmp cl, 0x22
jne 0x44b403
inc eax
cmp byte [eax], cl
mov dword [ebp - 8], eax
jne 0x44b6b1
inc eax
jmp 0x44b3e8
lea edi, [esi + 1]
mov eax, edi
mov dword [ebp - 8], eax
jmp 0x44b416
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
movsx eax, byte [eax]
push eax
push 0x45d7a8
call fcn.00457a60
test eax, eax
pop ecx
pop ecx
je 0x44b410
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x44b43b
dec eax
cmp byte [eax], 0x2e
jne 0x44b43b
mov dword [ebp - 8], eax
cmp byte [esi], 0x2e
jne 0x44b458
movsx eax, byte [edi]
push eax
push 0x45de9c
call fcn.00457a60
test eax, eax
pop ecx
pop ecx
jne 0x44b6b1
mov eax, dword [ebp - 8]
sub eax, esi
cmp eax, 4
mov dword [ebp - 0x24], eax
jae 0x44b4c3
cmp eax, 1
jbe 0x44b4c3
cmp eax, 2
mov al, byte [esi]
jne 0x44b48e
cmp al, 0x6f
je 0x44b479
cmp al, 0x4f
jne 0x44b4c3
mov al, byte [edi]
cmp al, 0x72
je 0x44b483
cmp al, 0x52
jne 0x44b4c3
mov byte [esi], 0x7c
mov byte [edi], 0x7c
jmp 0x44b6b1
cmp al, 0x41
je 0x44b53d
cmp al, 0x4e
je 0x44b4a6
cmp al, 0x61
je 0x44b53d
cmp al, 0x6e
jne 0x44b4c3
mov al, byte [edi]
cmp al, 0x6f
je 0x44b4b0
cmp al, 0x4f
jne 0x44b4c3
mov al, byte [esi + 2]
cmp al, 0x74
je 0x44b6b1
cmp al, 0x54
je 0x44b6b1
mov eax, dword [ebp - 8]
mov cl, byte [eax]
push str.__
push esi
mov byte [ebp - 1], cl
mov byte [eax], 0
call fcn.004398da
test eax, eax
pop ecx
pop ecx
jne 0x44b7cb
push eax
push 1
push eax
push 1
push esi
call fcn.00401fbc
add esp, 0x14
test eax, eax
jne 0x44b6a9
cmp byte [esi], 0x3f
jne 0x44b507
cmp byte [edi], al
je 0x44b6a9
movsx eax, byte [0x465091]
cmp byte [ebp - 1], 0x28
push eax
push esi
sete byte [ebp - 0x19]
call fcn.00457a60
test eax, eax
pop ecx
pop ecx
je 0x44b5ff
cmp dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], eax
je 0x44b569
mov eax, esi
sub eax, dword [ebx + 4]
add eax, dword [ebp - 0x10]
jmp 0x44b56b
mov al, byte [edi]
cmp al, 0x6e
je 0x44b54b
cmp al, 0x4e
jne 0x44b4c3
mov al, byte [esi + 2]
cmp al, 0x64
je 0x44b55a
cmp al, 0x44
jne 0x44b4c3
mov byte [esi], 0x26
mov byte [edi], 0x26
mov byte [esi + 2], 0x20
jmp 0x44b6b1
xor eax, eax
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x1830]
push ecx
mov ecx, dword [ebp - 0xc]
push eax
push esi
call fcn.0044cce7
test eax, eax
je 0x44badf
cmp byte [ebp - 0x19], 0
je 0x44b6a9
mov eax, dword [ebp - 8]
and dword [ebp - 0x24], 0
inc eax
push eax
call fcn.00401ea8
mov esi, eax
pop ecx
mov cl, byte [esi]
cmp cl, 0x29
je 0x44b5ea
xor edi, edi
xor al, al
inc edi
mov edx, edi
jmp 0x44b5e4
test edi, edi
je 0x44b5ed
cmp cl, 0x22
jne 0x44b5c1
test al, al
sete al
test al, al
jne 0x44b5e1
movsx ecx, cl
sub ecx, 0x28
je 0x44b5e0
dec ecx
je 0x44b5dd
sub ecx, 3
jne 0x44b5e1
cmp edi, 1
jne 0x44b5e1
inc edx
jmp 0x44b5e1
dec edi
jmp 0x44b5e1
inc edi
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x44b5b3
jmp 0x44b5ed
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
lea eax, [eax + eax*2]
mov byte [ebp + eax*4 - 0x1827], dl
jmp 0x44b6a9
cmp dword [ebp - 0x18], 0x200
jge 0x44b7d3
mov edi, dword [ebp - 0x18]
mov ax, word [ebp - 0x24]
lea edi, [edi + edi*2]
shl edi, 2
mov dword [ebp + edi - 0x1830], esi
mov word [ebp + edi - 0x1826], ax
mov al, byte [ebp - 0x19]
test al, al
mov byte [ebp + edi - 0x1828], al
je 0x44b640
and dword [ebp + edi - 0x182c], 0
jmp 0x44b6a6
mov eax, dword [ebp - 8]
movsx eax, byte [eax - 1]
push eax
call fcn.004426bf
cmp eax, 0x45
pop ecx
jne 0x44b687
cmp byte [ebp - 1], 0x2b
je 0x44b65f
cmp byte [ebp - 1], 0x2d
jne 0x44b687
push 0x2e
push esi
call fcn.00457a60
test eax, eax
pop ecx
pop ecx
je 0x44b687
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 0x44b6b1
cmp al, 0x39
jle 0x44b675
jmp 0x44b6b1
mov ecx, dword [ebp - 0xc]
push 0
push 0
push dword [ebp - 0x24]
push esi
call fcn.0040c0f3
test eax, eax
mov dword [ebp + edi - 0x182c], eax
je 0x44badf
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 0x44b3a7
cmp dword [ebp - 0x18], 1
jne 0x44b6e2
push 0
push 0
push dword [ebx + 4]
call fcn.004500f4
add esp, 0xc
test eax, eax
je 0x44b6ec
cmp byte [ebp + 8], 0x69
je 0x44b74d
mov byte [ebx + 1], 0
jmp 0x44b74d
cmp dword [ebp - 0x18], 0
je 0x44b785
push 0x45d7a8
push dword [ebx + 4]
call fcn.004398da
test eax, eax
pop ecx
pop ecx
jne 0x44b747
cmp byte [ebp - 0x1828], al
jne 0x44b747
mov eax, dword [ebp - 0x1830]
mov al, byte [eax]
cmp al, byte [0x465091]
jne 0x44b747
cmp byte [ebp + 8], 0x69
je 0x44b747
mov byte [ebx + 1], 0
mov byte [ebx], 1
jmp 0x44b747
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1830]
push eax
push dword [ebp - 0x10]
push dword [ebx + 4]
call fcn.0044cce7
test eax, eax
je 0x44badf
cmp dword [ebp - 0x18], 0
je 0x44b785
mov esi, dword [ebp - 0x18]
lea esi, [esi + esi*2]
shl esi, 2
lea eax, [esi + 0xc]
push eax
call fcn.0044e48a
test eax, eax
pop ecx
mov dword [ebx + 8], eax
je 0x44b936
push esi
lea ecx, [ebp - 0x1830]
push ecx
push eax
call fcn.00457330
mov eax, dword [ebx + 8]
add esp, 0xc
and dword [esi + eax], 0
jmp 0x44b789
and dword [ebx + 8], 0
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x28]
jl 0x44b128
mov edi, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x20]
jmp 0x44b0c6
push esi
push str.Not_allowed_as_an_output_variable.
mov ecx, dword [ebp - 0xc]
jmp 0x44be13
push ecx
push 0x45d760
jmp 0x44b7a9
push dword [ebx + 4]
push str.Missing____
jmp 0x44b7a9
push esi
push str.Missing_close_quote
jmp 0x44b7a9
push eax
push str.The_leftmost_character_above_is_illegal_in_an_expression.
jmp 0x44b7a9
push esi
push str.Too_many_var_func_refs.
jmp 0x44b7a9
xor esi, esi
test esi, esi
je 0x44b111
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
cmp dword [edi], 0
jne 0x44b7f4
mov dword [edi], esi
jmp 0x44b7fa
mov eax, dword [edi + 4]
mov dword [eax + 0x14], esi
mov cl, byte [ebp + 0x10]
test cl, cl
mov dword [edi + 4], esi
mov dword [edi + 0x23c], esi
jbe 0x44b817
mov eax, dword [ebx + 4]
mov dword [ebp + 0x14], eax
mov eax, 0x45a5d8
jmp 0x44b81f
mov eax, 0x45a5d8
mov dword [ebp + 0x14], eax
cmp cl, 1
jbe 0x44b82c
mov edx, dword [ebx + 0x14]
mov dword [ebp + 0xc], edx
jmp 0x44b82f
mov dword [ebp + 0xc], eax
cmp cl, 2
jbe 0x44b837
mov eax, dword [ebx + 0x24]
cmp cl, 3
mov dword [ebp - 0x14], eax
jbe 0x44b847
mov eax, dword [ebp - 0x20]
mov ebx, dword [eax + 0x34]
jmp 0x44b84c
mov ebx, 0x45a5d8
movzx eax, byte [ebp + 8]
cmp eax, 0x18
jg 0x44b945
cmp eax, 0x13
jge case.0x44b86f.1
dec eax
cmp eax, 0x10
ja case.0x44b86f.3
movzx eax, byte [eax + 0x44be2a]
jmp dword [eax*4 + 0x44be1a]
cmp byte [ebp + 0x10], 2
jae case.0x44b86f.1
push 0x45a5d8
push str.Parameter_2_required
jmp 0x44be11
movzx eax, byte [ebp + 0x10]
xor ecx, ecx
inc ecx
cmp eax, ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp - 0x28], eax
jle case.0x44b86f.3
mov ebx, dword [ebp - 0x20]
add ebx, 0x14
mov edi, dword [ebx]
cmp byte [edi], 0
je 0x44b918
push dword [ebp + 0x14]
mov ecx, esi
call fcn.00444234
test al, al
jne 0x44b918
cmp byte [ebx - 3], al
jne 0x44b918
xor eax, eax
push eax
push eax
push eax
push 1
push edi
call fcn.00401fbc
add esp, 0x14
test eax, eax
je 0x44b918
cmp byte [ebp + 8], 1
je 0x44b8e0
cmp byte [ebp + 8], 2
jne 0x44b8f7
mov eax, dword [ebp + 0xc]
mov al, byte [eax]
cmp al, 0x30
je 0x44b918
cmp al, 0x2b
je 0x44b918
mov eax, dword [ebp - 0x20]
cmp word [eax + 0x12], 0x12
ja 0x44b918
push 8
call fcn.0044e48a
test eax, eax
pop ecx
mov dword [ebx + 8], eax
je 0x44b936
push dword [ebx]
call fcn.00401f02
pop ecx
mov ecx, dword [ebx + 8]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x44b91c
and dword [ebx + 8], 0
inc dword [ebp + 0x14]
mov eax, dword [ebp + 0x14]
add ebx, 0x10
cmp eax, dword [ebp - 0x28]
jl 0x44b8a6
mov edi, dword [ebp - 0xc]
jmp case.0x44b86f.3
push 0x45a5d8
push str.Out_of_memory.
jmp 0x44b7a9
cmp eax, 0x68
je 0x44bb9d
cmp eax, 0x69
je 0x44bb91
cmp eax, 0x8c
jle case.0x44b86f.3
cmp eax, 0x90
jle 0x44babf
cmp eax, 0xbf
je 0x44b98b
cmp eax, 0xd3
jne case.0x44b86f.3
mov byte [0x46739c], 1
jmp case.0x44b86f.3
cmp byte [ebp + 0x10], 1
jb case.0x44b86f.3
push 0
mov ecx, esi
call fcn.00444234
test al, al
je 0x44b9b4
xor eax, eax
inc eax
mov dword [0x4673a8], eax
mov dword [0x4673ac], eax
jmp case.0x44b86f.3
mov ebx, dword [ebp + 0x14]
push 5
push str.Float
push ebx
call fcn.00442274
add esp, 0xc
test eax, eax
jne 0x44ba36
push str.Fast
add ebx, 5
push ebx
call fcn.00442231
test eax, eax
pop ecx
pop ecx
je 0x44b9e9
mov dword [0x4673ac], 1
cmp byte [ebp + 0x10], 1
jbe case.0x44b86f.3
push 1
mov ecx, esi
call fcn.00444234
test al, al
jne case.0x44b86f.3
push 1
push 1
push 0
push 1
push dword [ebp + 0xc]
call fcn.00401fbc
add esp, 0x14
test eax, eax
je 0x44bc37
push dword [ebp + 0xc]
call fcn.00457930
cmp eax, 0x1e
pop ecx
jb case.0x44b86f.3
jmp 0x44bc37
push 7
push str.Integer
push ebx
call fcn.00442274
add esp, 0xc
test eax, eax
jne 0x44bab4
push str.Fast
add ebx, 7
push ebx
call fcn.00442231
test eax, eax
pop ecx
pop ecx
je 0x44ba68
mov dword [0x4673a8], 1
cmp byte [ebp + 0x10], 1
jbe case.0x44b86f.3
push 1
mov ecx, esi
call fcn.00444234
test al, al
jne case.0x44b86f.3
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
push eax
call fcn.004426bf
cmp eax, 0x48
pop ecx
je case.0x44b86f.3
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
push eax
call fcn.004426bf
cmp eax, 0x44
pop ecx
je case.0x44b86f.3
jmp 0x44bc37
push ebx
push str.Parameter_1_invalid
jmp 0x44be11
push 0
mov ecx, esi
call fcn.00444234
test al, al
jne 0x44bae6
push 1
push dword [ebp + 0x14]
mov ecx, edi
call fcn.0044f80a
test eax, eax
mov dword [esi + 0xc], eax
jne 0x44bae6
xor eax, eax
jmp 0x44bde8
cmp byte [ebp + 8], 0x8e
je 0x44bb50
cmp byte [ebp + 8], 0x8f
je 0x44bb50
cmp byte [ebp + 8], 0x90
jne case.0x44b86f.3
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je case.0x44b86f.3
push 1
mov ecx, esi
call fcn.00444234
test al, al
jne case.0x44b86f.3
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00457930
cmp eax, 1
pop ecx
ja 0x44bc37
movsx eax, byte [ebx]
push eax
call fcn.004426bf
push eax
push 0x45de34
call fcn.00457a60
add esp, 0xc
test eax, eax
jne case.0x44b86f.3
jmp 0x44bc37
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je case.0x44b86f.3
push 1
mov ecx, esi
call fcn.00444234
test al, al
jne case.0x44b86f.3
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00457930
cmp eax, 1
pop ecx
ja 0x44bc37
movsx eax, byte [ebx]
push eax
call fcn.004426bf
cmp eax, 0x52
jmp 0x44baa8
mov dword [esi + 0xc], 7
jmp case.0x44b86f.3
movzx eax, byte [ebp + 0x10]
sub eax, 0
je case.0x44b86f.8
dec eax
mov ecx, esi
je 0x44bce2
push 0
call fcn.00444234
test al, al
jne 0x44bd23
push str.Read
push dword [ebp + 0x14]
call fcn.00442231
test eax, eax
pop ecx
pop ecx
jne 0x44bbe1
mov dword [esi + 0xc], 5
jmp case.0x44b86f.3
push str.Parse
push dword [ebp + 0x14]
call fcn.00442231
test eax, eax
pop ecx
pop ecx
jne 0x44bc00
mov dword [esi + 0xc], 6
jmp case.0x44b86f.3
push 0
push dword [ebp + 0x14]
call fcn.0041a297
neg eax
sbb eax, eax
neg eax
add eax, 3
cmp eax, 3
pop ecx
pop ecx
mov dword [esi + 0xc], eax
jne 0x44bc8a
push 1
mov ecx, esi
call fcn.00444234
test al, al
jne 0x44bc44
push dword [ebp + 0xc]
call fcn.00416d80
test eax, eax
pop ecx
jne 0x44bc44
push dword [ebp + 0xc]
push str.Parameter_2_invalid
jmp 0x44be11
mov ebx, dword [ebp - 0x14]
cmp byte [ebx], 0
je case.0x44b86f.3
push 2
mov ecx, esi
call fcn.00444234
test al, al
jne case.0x44b86f.3
push ebx
call fcn.00457930
cmp eax, 1
pop ecx
ja 0x44bc7f
mov al, byte [ebx]
cmp al, 0x30
je case.0x44b86f.3
cmp al, 0x31
je case.0x44b86f.3
push ebx
push str.Parameter_3_invalid
jmp 0x44be11
cmp byte [ebp + 0x10], 2
jbe 0x44bcaf
push 2
mov ecx, esi
call fcn.00444234
test al, al
jne 0x44bcaf
push dword [ebp - 0x14]
call fcn.00416d80
test eax, eax
pop ecx
jne 0x44bcaf
push dword [ebp - 0x14]
jmp 0x44bc80
cmp byte [ebx], 0
je case.0x44b86f.3
push 3
mov ecx, esi
call fcn.00444234
test al, al
jne case.0x44b86f.3
push ebx
call fcn.00457930
cmp eax, 1
pop ecx
ja 0x44bcd7
mov al, byte [ebx]
cmp al, 0x30
je case.0x44b86f.3
cmp al, 0x31
je case.0x44b86f.3
push ebx
push str.Parameter_4_invalid
jmp 0x44be11
xor ebx, ebx
push ebx
call fcn.00444234
test al, al
jne 0x44bd23
mov eax, dword [ebp - 0x20]
cmp byte [eax + 1], bl
jne 0x44bd23
push ebx
push ebx
push 1
push ebx
push dword [ebp + 0x14]
call fcn.00401fbc
add esp, 0x14
test eax, eax
jne case.0x44b86f.8
push ebx
push dword [ebp + 0x14]
call fcn.0041a297
neg eax
sbb eax, eax
neg eax
pop ecx
add eax, 3
pop ecx
mov dword [esi + 0xc], eax
jmp case.0x44b86f.3
mov dword [esi + 0xc], 1
jmp case.0x44b86f.3
mov dword [esi + 0xc], 2
cmp byte [edi + 0x3c], 0
je 0x44bd58
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 0x44bd58
mov byte [eax + 0x30], 2
cmp byte [ebp + 8], 0x6c
jne 0x44bd7b
mov eax, dword [edi + 0x18]
inc dword [edi + 0x38]
test eax, eax
je 0x44bdb0
cmp dword [eax + 4], 0
jne 0x44bdb0
mov dword [esi + 0xc], 1
mov byte [edi + 0x3c], 1
jmp 0x44bdb0
cmp byte [ebp + 8], 0x6d
jne 0x44bdb0
dec dword [edi + 0x38]
mov edx, dword [0x465108]
mov eax, dword [edi + 0x38]
xor ecx, ecx
cmp dword [edx + 0x94], ecx
je 0x44bdb0
cmp eax, ecx
jne 0x44bdb0
mov dword [esi + 0xc], 1
mov eax, dword [0x465108]
mov dword [eax + 0x94], ecx
mov dword [edi + 0x40], ecx
cmp byte [ebp - 0x1a], 0
je 0x44bde2
mov eax, dword [edi + 0x10]
jmp 0x44bdde
cmp dword [eax + 4], 0
jne 0x44bde2
mov cl, byte [esi]
cmp cl, 0x6c
jne 0x44bdce
cmp dword [esi + 0xc], 1
je 0x44bdef
cmp cl, 9
je 0x44bdfb
cmp cl, 0x6d
je 0x44be07
mov dword [eax + 4], esi
mov eax, dword [eax + 8]
test eax, eax
jne 0x44bdbb
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 0x44be11
push 0x45a5d8
push str.A_label_must_not_point_to_an_ELSE.
jmp 0x44be11
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.0044bffc
jmp 0x44bde8