Function at 0x406fd0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x14
push ebx
mov ebx, dword [esp + 0x24]
push ebp
push esi
push edi
mov dword [esp + 0x10], ecx
push ebx
call fcn.00404780
push ebx
mov dword [esp + 0x28], eax
call fcn.00404700
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x20], eax
add esp, 8
mov al, byte [esi]
mov dword [esp + 0x14], ebp
test al, al
je 0x407d5b
cmp al, 0x3c
jne 0x407016
inc esi
jmp 0x407105
and eax, 0xff
mov ecx, esi
test byte [eax + 0x42618c], 8
je 0x407034
inc esi
xor eax, eax
mov al, byte [esi]
test byte [eax + 0x42618c], 8
jne 0x407026
mov al, byte [esi]
cmp al, 0x3c
je 0x40703e
test al, al
jne 0x40707d
test ebx, 0x408
je 0x407aa3
test bh, 8
jne 0x407aa3
test bh, 4
je 0x407079
cmp al, 0x3c
jne 0x407aa3
cmp byte [esi + 1], 0x2f
jne 0x407aa3
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x407aa3
mov ebp, dword [esp + 0x14]
test bh, 8
jne 0x407084
mov esi, ecx
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x4070ae
test bh, 0x10
jne 0x4070ae
mov al, byte [esi]
test al, al
je 0x4070a2
cmp al, 0x3c
je 0x4070a2
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x407096
cmp byte [esi], 0
je 0x407d35
inc esi
jmp 0x407101
test bh, 0x20
je 0x4070ca
test eax, eax
je 0x4070ca
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x4070ca
mov eax, dword [ebp + 8]
test eax, eax
jne 0x4070ca
mov dword [ebp + 8], esi
jmp 0x4070ee
mov edi, dword [esp + 0x10]
push 3
mov eax, dword [edi]
push eax
push ebp
call fcn.004037d0
add esp, 0xc
test eax, eax
je 0x407c28
mov ecx, dword [eax + 0xc]
mov dword [eax + 8], esi
mov dword [esp + 0x14], ecx
push esi
call dword [esp + 0x1c]
mov esi, eax
add esp, 4
cmp byte [esi], 0
je 0x407d35
mov ebp, dword [esp + 0x14]
mov al, byte [esi]
mov edi, dword [esp + 0x10]
mov edx, eax
and edx, 0xff
test byte [edx + 0x42618c], 0x80
je 0x40720a
mov eax, dword [edi]
push 2
push eax
push ebp
call fcn.004037d0
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
je 0x407c28
xor ecx, ecx
mov dword [eax + 4], esi
mov cl, byte [esi]
test byte [ecx + 0x42618c], 0x40
je 0x407191
xor edx, edx
mov dl, byte [esi + 1]
test byte [edx + 0x42618c], 0x40
je 0x407186
xor eax, eax
mov al, byte [esi + 2]
test byte [eax + 0x42618c], 0x40
je 0x407189
xor ecx, ecx
mov cl, byte [esi + 3]
test byte [ecx + 0x42618c], 0x40
je 0x40718e
add esi, 4
xor edx, edx
mov dl, byte [esi]
test byte [edx + 0x42618c], 0x40
jne 0x40714a
jmp 0x407191
inc esi
jmp 0x407191
add esi, 2
jmp 0x407191
add esi, 3
mov al, byte [esi]
mov byte [esi], 0
inc esi
cmp al, 0x3e
mov byte [esp + 0x28], al
je 0x407aa3
mov ecx, dword [esp + 0x28]
and ecx, 0xff
test byte [ecx + 0x42618c], 8
jne 0x40748d
cmp al, 0x2f
jne 0x4071f0
mov al, byte [esi]
cmp al, 0x3e
je 0x4071d7
test al, al
jne 0x407c3e
cmp byte [esp + 0x34], 0x3e
jne 0x407c3e
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0xc]
xor edx, edx
cmp al, 0x3e
mov dword [esp + 0x14], ecx
sete dl
add esi, edx
jmp 0x407aa3
test al, al
jne 0x407c3e
mov al, byte [esp + 0x34]
dec esi
cmp al, 0x3e
jne 0x407c3e
jmp 0x407aa3
cmp al, 0x2f
jne 0x4072a1
mov ecx, dword [ebp + 4]
inc esi
test ecx, ecx
mov edi, esi
je 0x407d41
mov al, byte [esi]
mov edx, eax
and edx, 0xff
test byte [edx + 0x42618c], 0x40
je 0x407252
mov dl, byte [ecx]
inc ecx
inc esi
cmp al, dl
jne 0x407c88
mov al, byte [esi]
mov edx, eax
and edx, 0xff
test byte [edx + 0x42618c], 0x40
jne 0x407233
cmp byte [ecx], 0
jne 0x407c58
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cl, byte [esi]
mov dword [esp + 0x14], eax
test byte [ecx + 0x42618c], 8
je 0x40727d
inc esi
xor edx, edx
mov dl, byte [esi]
test byte [edx + 0x42618c], 8
jne 0x40726f
mov al, byte [esi]
test al, al
jne 0x407293
cmp byte [esp + 0x34], 0x3e
jne 0x407c6e
jmp 0x407aa3
cmp al, 0x3e
jne 0x407c6e
inc esi
jmp 0x407aa3
cmp al, 0x3f
jne 0x407634
inc esi
xor ecx, ecx
mov eax, ebp
mov edi, esi
mov cl, byte [esi]
mov cl, byte [ecx + 0x42618c]
test cl, 0x80
je 0x407ab6
test cl, 0x40
je 0x4072d4
inc esi
xor edx, edx
mov dl, byte [esi]
test byte [edx + 0x42618c], 0x40
jne 0x4072c6
mov dl, byte [esi]
test dl, dl
je 0x407ab6
mov cl, byte [edi]
or cl, 0x20
cmp cl, 0x78
jne 0x407313
mov cl, byte [edi + 1]
or cl, 0x20
cmp cl, 0x6d
jne 0x407313
mov cl, byte [edi + 2]
or cl, 0x20
cmp cl, 0x6c
jne 0x407313
lea ecx, [edi + 3]
cmp ecx, esi
jne 0x407313
mov ecx, dword [esp + 0x30]
mov bl, 1
and ecx, 0x100
jmp 0x40731c
mov ecx, dword [esp + 0x30]
xor bl, bl
and ecx, 1
test ecx, ecx
je 0x407438
test bl, bl
je 0x407354
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x407ab6
mov ebp, dword [esp + 0x10]
push 7
mov edx, dword [ebp]
push edx
push eax
call fcn.004037d0
add esp, 0xc
test eax, eax
je 0x407ad0
jmp 0x407373
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 6
mov eax, dword [ebp]
push eax
push ecx
call fcn.004037d0
add esp, 0xc
test eax, eax
je 0x407ad0
mov dword [eax + 4], edi
mov cl, byte [esi]
mov byte [esi], 0
inc esi
cmp cl, 0x3f
mov byte [esp + 0x1c], cl
jne 0x4073b1
mov cl, byte [esi]
cmp cl, 0x3e
je 0x40739f
test cl, cl
jne 0x407ae6
cmp byte [esp + 0x34], 0x3e
jne 0x407ae6
mov eax, dword [eax + 0xc]
xor edx, edx
cmp cl, 0x3e
sete dl
add esi, edx
jmp 0x40746f
mov ecx, dword [esp + 0x1c]
and ecx, 0xff
test byte [ecx + 0x42618c], 8
je 0x407ae6
xor edx, edx
mov dl, byte [esi]
test byte [edx + 0x42618c], 8
je 0x4073e3
inc esi
xor ecx, ecx
mov cl, byte [esi]
test byte [ecx + 0x42618c], 8
jne 0x4073d5
mov cl, byte [esi]
mov edx, esi
test cl, cl
je 0x40740b
cmp cl, 0x3f
jne 0x407403
mov cl, byte [esi + 1]
cmp cl, 0x3e
je 0x40740b
test cl, cl
jne 0x407403
cmp byte [esp + 0x34], 0x3e
je 0x40740b
mov cl, byte [esi + 1]
inc esi
test cl, cl
jne 0x4073eb
cmp byte [esi], 0
je 0x407ab6
test bl, bl
je 0x40741f
mov byte [esi], 0x2f
mov esi, edx
jmp 0x40746f
mov dword [eax + 8], edx
mov eax, dword [eax + 0xc]
mov byte [esi], 0
mov bl, byte [esi + 1]
inc esi
xor edx, edx
cmp bl, 0x3e
sete dl
add esi, edx
jmp 0x40746f
cmp dl, 0x3f
jne 0x407450
mov cl, byte [esi + 1]
cmp cl, 0x3e
je 0x407458
test cl, cl
jne 0x407450
cmp byte [esp + 0x34], 0x3e
je 0x407458
mov dl, byte [esi + 1]
inc esi
test dl, dl
jne 0x407438
cmp byte [esi], 0
je 0x407ab6
mov bl, byte [esi + 1]
xor ecx, ecx
cmp bl, 0x3e
sete cl
inc ecx
add esi, ecx
test esi, esi
mov dword [esp + 0x14], eax
je 0x407d4f
mov edx, dword [eax]
mov ebx, dword [esp + 0x30]
and edx, 0xf
cmp dl, 7
jne 0x407aa3
mov ebp, dword [esp + 0x10]
xor eax, eax
mov al, byte [esi]
test byte [eax + 0x42618c], 8
je 0x4074ac
inc esi
xor ecx, ecx
mov cl, byte [esi]
test byte [ecx + 0x42618c], 8
jne 0x40749e
xor edx, edx
mov dl, byte [esi]
test byte [edx + 0x42618c], 0x80
je 0x4075d0
mov eax, dword [ebp]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.00403880
mov edi, eax
add esp, 8
test edi, edi
je 0x407ca2
xor edx, edx
mov dword [edi + 4], esi
mov dl, byte [esi]
test byte [edx + 0x42618c], 0x40
je 0x40752f
xor eax, eax
mov al, byte [esi + 1]
test byte [eax + 0x42618c], 0x40
je 0x407524
xor ecx, ecx
mov cl, byte [esi + 2]
test byte [ecx + 0x42618c], 0x40
je 0x407527
xor edx, edx
mov dl, byte [esi + 3]
test byte [edx + 0x42618c], 0x40
je 0x40752c
add esi, 4
xor eax, eax
mov al, byte [esi]
test byte [eax + 0x42618c], 0x40
jne 0x4074e8
jmp 0x40752f
inc esi
jmp 0x40752f
add esi, 2
jmp 0x40752f
add esi, 3
mov al, byte [esi]
mov byte [esi], 0
mov byte [esp + 0x28], al
inc esi
mov ecx, dword [esp + 0x28]
and ecx, 0xff
test byte [ecx + 0x42618c], 8
je 0x40756a
xor edx, edx
mov dl, byte [esi]
test byte [edx + 0x42618c], 8
je 0x407567
inc esi
xor eax, eax
mov al, byte [esi]
test byte [eax + 0x42618c], 8
jne 0x407559
mov al, byte [esi]
inc esi
cmp al, 0x3d
jne 0x407cd1
xor ecx, ecx
mov cl, byte [esi]
test byte [ecx + 0x42618c], 8
je 0x40758d
inc esi
xor edx, edx
mov dl, byte [esi]
test byte [edx + 0x42618c], 8
jne 0x40757f
mov al, byte [esi]
cmp al, 0x22
je 0x40759b
cmp al, 0x27
jne 0x407cd1
mov byte [esp + 0x28], al
inc esi
mov eax, dword [esp + 0x28]
mov dword [edi + 8], esi
push eax
push esi
call dword [esp + 0x28]
mov esi, eax
add esp, 8
test esi, esi
je 0x407cb8
xor ecx, ecx
mov cl, byte [esi]
test byte [ecx + 0x42618c], 0x80
jne 0x407cd1
jmp 0x407491
mov al, byte [esi]
cmp al, 0x2f
jne 0x407612
mov al, byte [esi + 1]
inc esi
cmp al, 0x3e
jne 0x4075ef
mov edx, dword [esp + 0x14]
inc esi
mov eax, dword [edx + 0xc]
mov dword [esp + 0x14], eax
jmp 0x407aa3
test al, al
jne 0x407ce7
cmp byte [esp + 0x34], 0x3e
jne 0x407ce7
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x14], edx
jmp 0x407aa3
cmp al, 0x3e
jne 0x40761c
inc esi
jmp 0x407aa3
test al, al
jne 0x407ce7
cmp byte [esp + 0x34], 0x3e
jne 0x407ce7
jmp 0x407aa3
cmp al, 0x21
jne 0x407cfd
mov al, byte [esi + 1]
inc esi
cmp al, 0x2d
mov edi, ebp
jne 0x4076fe
mov al, byte [esi + 1]
inc esi
cmp al, 0x2d
jne 0x407bd1
mov ebp, ebx
inc esi
and ebp, 2
je 0x407683
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 5
mov eax, dword [ebx]
push eax
push ecx
call fcn.004037d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x407afc
mov dword [edi + 8], esi
jmp 0x407687
mov ebx, dword [esp + 0x10]
test byte [esp + 0x30], 0x20
je 0x4076af
test ebp, ebp
je 0x4076af
mov edx, dword [esp + 0x34]
push edx
push esi
call fcn.00404530
mov esi, eax
add esp, 8
test esi, esi
je 0x407b12
jmp 0x407a97
mov al, byte [esi]
test al, al
je 0x4076d9
cmp al, 0x2d
jne 0x4076d1
cmp byte [esi + 1], 0x2d
jne 0x4076d1
mov al, byte [esi + 2]
cmp al, 0x3e
je 0x4076d9
test al, al
jne 0x4076d1
cmp byte [esp + 0x34], 0x3e
je 0x4076d9
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4076b5
cmp byte [esi], 0
je 0x407b2b
test ebp, ebp
je 0x4076e9
mov byte [esi], 0
mov bl, byte [esi + 2]
xor eax, eax
cmp bl, 0x3e
sete al
add eax, 2
add esi, eax
jmp 0x407a97
cmp al, 0x5b
jne 0x407835
mov al, byte [esi + 1]
inc esi
cmp al, 0x43
jne 0x407bf4
mov al, byte [esi + 1]
inc esi
cmp al, 0x44
jne 0x407bf4
mov al, byte [esi + 1]
inc esi
cmp al, 0x41
jne 0x407bf4
mov al, byte [esi + 1]
inc esi
cmp al, 0x54
jne 0x407bf4
mov al, byte [esi + 1]
inc esi
cmp al, 0x41
jne 0x407bf4
mov al, byte [esi + 1]
inc esi
cmp al, 0x5b
jne 0x407bf4
inc esi
test bl, 4
je 0x4077ef
mov ecx, dword [esp + 0x10]
push 4
mov edx, dword [ecx]
push edx
push ebp
call fcn.004037d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x407b41
test bl, 0x20
mov dword [edi + 8], esi
je 0x4077a6
mov eax, dword [esp + 0x34]
push eax
push esi
call fcn.00404620
mov esi, eax
add esp, 8
test esi, esi
je 0x407b5b
mov al, byte [esi + 1]
xor ecx, ecx
cmp al, 0x3e
sete cl
inc ecx
add esi, ecx
jmp 0x407a9b
mov al, byte [esi]
test al, al
je 0x4077d0
cmp al, 0x5d
jne 0x4077c8
cmp byte [esi + 1], 0x5d
jne 0x4077c8
mov al, byte [esi + 2]
cmp al, 0x3e
je 0x4077d0
test al, al
jne 0x4077c8
cmp byte [esp + 0x34], 0x3e
je 0x4077d0
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4077ac
cmp byte [esi], 0
je 0x407bf4
mov byte [esi], 0
mov al, byte [esi + 2]
inc esi
xor ecx, ecx
cmp al, 0x3e
sete cl
inc ecx
add esi, ecx
jmp 0x407a9b
mov al, byte [esi]
test al, al
je 0x407819
cmp al, 0x5d
jne 0x407811
cmp byte [esi + 1], 0x5d
jne 0x407811
mov al, byte [esi + 2]
cmp al, 0x3e
je 0x407819
test al, al
jne 0x407811
cmp byte [esp + 0x34], 0x3e
je 0x407819
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4077f5
cmp byte [esi], 0
je 0x407bf4
mov al, byte [esi + 2]
inc esi
xor ecx, ecx
cmp al, 0x3e
sete cl
inc ecx
add esi, ecx
jmp 0x407a9b
cmp al, 0x44
jne 0x407bc2
cmp byte [esi + 1], 0x4f
jne 0x407bc2
cmp byte [esi + 2], 0x43
jne 0x407bc2
cmp byte [esi + 3], 0x54
jne 0x407bc2
cmp byte [esi + 4], 0x59
jne 0x407bc2
cmp byte [esi + 5], 0x50
jne 0x407bc2
mov al, byte [esi + 6]
cmp al, 0x45
je 0x40788d
test al, al
jne 0x407bc2
mov bl, byte [esp + 0x34]
cmp bl, 0x45
jne 0x407bc6
jmp 0x407891
mov bl, byte [esp + 0x34]
mov eax, dword [ebp + 0xc]
sub esi, 2
test eax, eax
jne 0x407b92
mov cl, byte [esi + 2]
lea ebp, [esi + 9]
add esi, 2
xor edi, edi
test cl, cl
je 0x407a36
cmp cl, 0x3c
jne 0x407934
cmp byte [esi + 1], 0x21
jne 0x40792f
mov al, byte [esi + 2]
cmp al, 0x2d
je 0x40792f
cmp al, 0x5b
jne 0x407926
mov cl, byte [esi + 3]
lea eax, [esi + 3]
xor edx, edx
test cl, cl
je 0x407b78
cmp cl, 0x3c
jne 0x4078ef
cmp byte [eax + 1], 0x21
jne 0x4078ef
cmp byte [eax + 2], 0x5b
jne 0x4078ef
add eax, 3
inc edx
jmp 0x40790b
cmp cl, 0x5d
jne 0x40790a
cmp byte [eax + 1], 0x5d
jne 0x40790a
cmp byte [eax + 2], 0x3e
jne 0x40790a
add eax, 3
test edx, edx
je 0x407917
dec edx
jmp 0x40790b
inc eax
mov cl, byte [eax]
test cl, cl
je 0x407b78
jmp 0x4078d8
test eax, eax
mov esi, eax
je 0x407b6c
jmp 0x407a24
add esi, 2
inc edi
jmp 0x407a24
cmp cl, 0x3c
je 0x407956
cmp cl, 0x22
je 0x4079fa
cmp cl, 0x27
je 0x407956
cmp cl, 0x3e
jne 0x407950
test edi, edi
je 0x407a3f
dec edi
inc esi
jmp 0x407a24
cmp cl, 0x22
je 0x4079fa
cmp cl, 0x27
je 0x4079fa
cmp cl, 0x3c
jne 0x407b92
cmp byte [esi + 1], 0x3f
jne 0x4079a2
mov cl, byte [esi + 2]
lea eax, [esi + 2]
test cl, cl
je 0x407994
cmp cl, 0x3f
jne 0x40798c
cmp byte [eax + 1], 0x3e
je 0x407994
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407981
cmp byte [eax], 0
je 0x407b78
add eax, 2
jmp 0x407a1a
cmp cl, 0x3c
jne 0x407b92
cmp byte [esi + 1], 0x21
jne 0x407b92
cmp byte [esi + 2], 0x2d
jne 0x407b92
cmp byte [esi + 3], 0x2d
jne 0x407b92
mov cl, byte [esi + 4]
lea eax, [esi + 4]
test cl, cl
je 0x4079ec
cmp cl, 0x2d
jne 0x4079e4
cmp byte [eax + 1], 0x2d
jne 0x4079e4
cmp byte [eax + 2], 0x3e
je 0x4079ec
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4079d3
cmp byte [eax], 0
je 0x407b78
add eax, 3
jmp 0x407a1a
mov dl, byte [esi + 1]
lea eax, [esi + 1]
test dl, dl
je 0x407a10
cmp dl, cl
je 0x407a10
mov dl, byte [eax + 1]
inc eax
test dl, dl
jne 0x407a04
cmp byte [eax], 0
je 0x407b78
inc eax
test eax, eax
mov esi, eax
je 0x407b6c
mov cl, byte [esi]
test cl, cl
jne 0x4078b2
test edi, edi
jne 0x407b92
cmp bl, 0x3e
jne 0x407b92
test esi, esi
je 0x407b6c
cmp byte [esi], 0
je 0x407a50
mov byte [esi], 0
inc esi
mov eax, dword [esp + 0x30]
test ah, 2
je 0x407a97
xor edx, edx
mov dl, byte [ebp]
test byte [edx + 0x42618c], 8
je 0x407a76
inc ebp
xor eax, eax
mov al, byte [ebp]
test byte [eax + 0x42618c], 8
jne 0x407a67
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 8
mov ecx, dword [edi]
push ecx
push edx
call fcn.004037d0
add esp, 0xc
test eax, eax
je 0x407bac
mov dword [eax + 8], ebp
mov ebx, dword [esp + 0x30]
test esi, esi
je 0x407b6c
mov al, byte [esi]
test al, al
je 0x407d35
mov ebp, dword [esp + 0x14]
jmp 0x40700c
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 6
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [ebp + 4], esi
pop edi
mov dword [ebp + 8], 3
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [ebp + 4], esi
pop edi
mov dword [ebp + 8], 6
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [ebx + 4], esi
pop edi
pop esi
mov dword [ebx + 8], 3
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [edi + 8]
pop edi
pop esi
mov dword [ebx + 4], eax
mov dword [ebx + 8], 7
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [ebx + 4], esi
pop edi
pop esi
mov dword [ebx + 8], 7
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 3
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esp + 0x10]
mov ecx, dword [edi + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 4], eax
mov dword [ecx + 8], 9
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 9
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [edi + 4], esi
mov dword [edi + 8], 3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov bl, byte [esp + 0x34]
mov al, byte [esi]
test al, al
jne 0x407c0e
cmp bl, 0x2d
jne 0x407beb
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 7
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
test al, al
jne 0x407c0e
cmp bl, 0x5b
jne 0x407c0e
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 8
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 5
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [edi + 4], esi
mov dword [edi + 8], 3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 0xb
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
cmp byte [esi], 0
jne 0x407c88
mov dl, byte [esp + 0x34]
mov al, byte [ecx]
cmp al, dl
jne 0x407c88
mov al, byte [ecx + 1]
test al, al
jne 0x407c88
mov eax, dword [esp + 0x10]
pop edi
mov dword [eax + 4], esi
pop esi
mov dword [eax + 8], 0xd
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [esp + 0x10]
mov dword [eax + 4], edi
pop edi
pop esi
mov dword [eax + 8], 0xe
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [ebp + 4], esi
pop edi
mov dword [ebp + 8], 3
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, dword [edi + 8]
pop edi
mov dword [ebp + 4], eax
mov dword [ebp + 8], 0xc
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [ebp + 4], esi
pop edi
mov dword [ebp + 8], 0xc
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [ebp + 4], esi
pop edi
mov dword [ebp + 8], 0xb
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
cmp byte [esi], 0
jne 0x407d1f
cmp byte [esp + 0x34], 0x3f
jne 0x407d1f
mov dword [edi + 4], esi
mov dword [edi + 8], 6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov dword [edi + 4], esi
mov dword [edi + 8], 5
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
cmp eax, ecx
je 0x407d5b
mov eax, dword [esp + 0x10]
mov dword [eax + 4], esi
mov dword [eax + 8], 0xe
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret 0x10
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret 0x10