Function at 0x417420
Capabilities:
Check for software breakpoints
Check http status code
Resolve function by parsing pe exports
Validate payment card number using luhn algorithm

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x34]
push esi
mov esi, ecx
mov eax, dword [esi + eax*4 + 0x194]
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
mov eax, dword [esp + 0x3c]
mov eax, dword [esi + eax*4 + 0x194]
lea ecx, [ecx + edx + 0x7a4]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
lea edx, [edx + eax + 0x7a4]
xor eax, eax
cmp dword [ecx + 0x128], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
jle 0x417f9b
push ebx
push ebp
push edi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
shl eax, 4
add eax, dword [ecx + 0x130]
cmp dword [edx + 0x12c], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], 0
jle 0x417f7d
mov eax, dword [esp + 0x44]
mov eax, dword [esi + eax*4 + 0x194]
mov eax, dword [eax + 0x368]
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x6f4]
cmp eax, 0xc8
mov dword [esp + 0x28], eax
je 0x417502
cmp eax, 0xcb
je 0x417502
cmp eax, 0xcd
je 0x417502
cmp eax, 0xce
je 0x417502
cmp eax, 0xcf
je 0x417502
cmp eax, 0xd7
je 0x417502
cmp eax, 0xd8
jne 0x41752c
mov edi, dword [esp + 0x48]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0xd1
jne 0x417530
mov eax, dword [esp + 0x10]
cmp dword [eax], 9
jne 0x417f7d
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
cmp edx, 3
mov dword [esp + 0x14], edx
jne 0x41755d
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x417f7d
mov edi, dword [esp + 0x48]
test edx, edx
jne 0x4176cc
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
cmp ecx, 4
jne 0x41758e
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
cmp dword [eax + 0x6f8], edx
je 0x417f7d
mov edi, dword [esp + 0x48]
cmp ecx, 0x14
jne 0x417601
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x417f7d
mov eax, dword [esp + 0x48]
mov eax, dword [esi + eax*4 + 0x194]
mov edi, dword [eax + 0x78]
mov eax, dword [eax + 0x368]
imul edi, edi, 0x178
cmp dword [edi + eax + 0x7ac], 0x12
je 0x417f7d
mov eax, dword [esp + 0x48]
mov eax, dword [esi + eax*4 + 0x194]
mov edi, dword [eax + 0x78]
mov eax, dword [eax + 0x368]
imul edi, edi, 0x178
cmp dword [edi + eax + 0x7ac], 0x13
je 0x417f7d
mov edi, dword [esp + 0x48]
cmp ecx, 0x15
jne 0x417656
mov eax, dword [esi + edi*4 + 0x194]
mov edi, dword [eax + 0x78]
mov eax, dword [eax + 0x368]
imul edi, edi, 0x178
cmp dword [edi + eax + 0x7ac], 0x12
je 0x417f7d
mov eax, dword [esp + 0x48]
mov eax, dword [esi + eax*4 + 0x194]
mov edi, dword [eax + 0x78]
mov eax, dword [eax + 0x368]
imul edi, edi, 0x178
cmp dword [edi + eax + 0x7ac], 0x13
je 0x417f7d
mov edi, dword [esp + 0x48]
cmp ecx, 0x1e
jne 0x41767b
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x70]
cmp eax, 0xc8
jl 0x41767b
cmp eax, 0xca
jle 0x417f7d
mov edi, dword [esp + 0x48]
cmp ecx, 2
jne 0x4176cc
mov ecx, dword [esp + 0x44]
mov eax, dword [esi + ecx*4 + 0x194]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x13
jne 0x4176cc
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x12
je 0x417f7d
mov edi, dword [esp + 0x48]
cmp edx, 8
jne 0x4176ef
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x417f7d
mov edi, dword [esp + 0x48]
mov ebx, dword [esi + edi*4 + 0x194]
cmp dword [ebx + 8], 0
je 0x41770e
cmp edx, 8
je 0x41770e
cmp edx, 0xe
jne 0x417f7d
mov edi, dword [esp + 0x48]
cmp edx, 4
jl 0x417744
cmp edx, 6
je 0x417744
cmp edx, 9
jne 0x41772c
mov ecx, dword [ebx + 0x368]
cmp dword [ecx + 0x6f8], 0
je 0x417744
cmp edx, 0xa
je 0x417744
cmp edx, 0xb
je 0x417744
cmp edx, 0xf
je 0x417744
cmp edx, 0x10
jne 0x417886
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0xd
je 0x417886
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0xa
je 0x417886
mov ecx, dword [ebx + 0x368]
cmp dword [ecx + 0x6f4], 0xd4
jne 0x4177d9
cmp dword [esp + 0x28], 0xd4
jne 0x417886
mov eax, dword [ebx + 0x70]
cdq
mov ebp, 0xa
idiv ebp
cmp edx, 5
jne 0x4177d5
mov edx, dword [esp + 0x44]
mov eax, dword [esi + edx*4 + 0x194]
mov eax, dword [eax + 0x70]
cdq
idiv ebp
test edx, edx
je 0x417882
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ebp, dword [esi + eax*4 + 0x194]
mov eax, dword [ebp + 0x364]
cmp eax, dword [ebx + 0x364]
jne 0x417886
test eax, eax
je 0x417886
cmp edx, 8
je 0x417886
mov edx, dword [esp + 0x44]
mov eax, dword [esi + edx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x12
jne 0x41783c
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x2c]
cmp eax, 0x15
je 0x41783c
cmp eax, 0x16
jne 0x417882
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x6f8], 0
jne 0x417860
cmp dword [ecx + 0x6f8], 3
jne 0x417860
mov dl, byte [ebp + 0x80]
cmp dl, byte [ebx + 0x80]
jne 0x417882
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x417882
cmp eax, 2
je 0x417882
cmp eax, 4
je 0x417882
cmp eax, 6
jne 0x417f7d
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
cmp edx, 5
jne 0x417939
mov eax, dword [esp + 0x44]
mov ebp, dword [esi + eax*4 + 0x194]
mov ecx, dword [ebp + 0xa0]
mov edx, dword [esi + ecx*4 + 0x194]
mov eax, dword [edx + 0x364]
cmp eax, dword [ebx + 0x364]
jne 0x417939
test eax, eax
je 0x417939
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xd
je 0x417939
mov ecx, dword [ebx + 0x368]
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x417939
cmp eax, 2
je 0x417939
cmp eax, 4
je 0x417939
cmp eax, 6
je 0x417939
cmp dword [ecx + 0x6f4], 0xd4
jne 0x417f7d
cmp dword [esp + 0x28], 0xd4
jne 0x417939
mov eax, dword [ebx + 0x70]
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 5
jne 0x417f7d
mov eax, dword [ebp + 0x70]
cdq
idiv ecx
test edx, edx
jne 0x417f7d
cmp byte [ebx + 0x80], 0
mov eax, dword [esp + 0x20]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x134]
mov edi, dword [ecx + edx*8 + 4]
lea eax, [ecx + edx*8]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov ebp, dword [ecx + 8]
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], eax
jne 0x4179a8
mov ecx, dword [esp + 0x48]
mov ecx, dword [esi + ecx*4 + 0x194]
mov eax, dword [ecx + 0x7c]
mov ebx, dword [ecx + 0x368]
imul eax, eax, 0x178
add eax, ebx
mov ebx, dword [ecx + 0x10]
sub ebx, dword [eax + 0x7f4]
add edi, ebx
jmp 0x4179dd
mov eax, dword [esp + 0x48]
mov ecx, dword [esi + eax*4 + 0x194]
mov eax, dword [ecx + 0x7c]
mov ebx, dword [ecx + 0x368]
imul eax, eax, 0x178
add eax, ebx
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x7f4]
add eax, dword [ecx + 0x10]
sub eax, dword [esp + 0x28]
sub eax, edi
mov edi, eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x14]
sub ecx, dword [eax + 0x7f8]
mov eax, dword [esp + 0x44]
add dword [esp + 0x14], ecx
mov ecx, dword [esi + eax*4 + 0x194]
mov eax, dword [ecx + 0x7c]
mov ebx, dword [ecx + 0x368]
imul eax, eax, 0x178
add eax, ebx
mov ebx, dword [ecx + 0x10]
cmp byte [ecx + 0x80], 0
mov ecx, dword [ecx + 0x14]
jne 0x417a1f
sub ebx, dword [eax + 0x7f4]
add edx, ebx
jmp 0x417a38
add ebx, dword [eax + 0x7f4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
sub ebx, dword [eax + 0xc]
mov eax, dword [esp + 0x2c]
sub ebx, edx
mov edx, ebx
sub ecx, dword [eax + 0x7f8]
mov dword [esp + 0x34], 0
add ebp, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x48]
test eax, eax
jne 0x417a58
mov eax, 0xf
mov ecx, dword [esp + 0x44]
mov ecx, dword [esi + ecx*4 + 0x194]
mov ebx, dword [esp + 0x48]
mov ebx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [ecx + 0x18]
sub ecx, dword [ebx + 0x18]
mov dword [esp + 0x2c], ebx
cmp ecx, eax
jge 0x417a87
neg eax
cmp ecx, eax
mov ebx, 1
jg 0x417a8b
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
push eax
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x30]
push ebp
push edx
mov edx, dword [esp + 0x48]
push edx
push eax
push ecx
push edi
call fcn.004171e0
add esp, 0x20
test eax, eax
je 0x417f62
test ebx, ebx
je 0x417f62
mov edx, dword [esp + 0x48]
mov eax, dword [esi + edx*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
xor ebp, ebp
cmp dword [ecx + edx + 0x7ac], 0xc
jne 0x417b02
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x1c], 0x28
jg 0x417b02
mov eax, dword [eax]
cmp eax, 0xa
je 0x417b02
cmp eax, 0xb
je 0x417b02
mov ebp, 2
cmp dword [esp + 0x4c], 1
mov edx, dword [esp + 0x1c]
jne 0x417ba4
xor ecx, ecx
cmp dword [edx + 0x6f8], ecx
je 0x417b2f
mov eax, dword [edx + 0x6f4]
cmp eax, 0xc9
je 0x417b2f
cmp eax, 0xca
jne 0x417b4a
mov ebx, dword [esp + 0x44]
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x364], 5
je 0x417b4e
mov ecx, 1
jmp 0x417b4e
mov ebx, dword [esp + 0x44]
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x417b8f
mov eax, dword [eax + 0xa0]
cmp byte [eax + esi + 4], 1
jne 0x417b8f
mov eax, dword [esi + eax*4 + 0x194]
mov edi, dword [eax + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x417b8f
cmp dword [eax + 0x364], 5
je 0x417b8f
mov ecx, 1
cmp dword [esp + 0x3c], 0x3e8
jl 0x417ba8
test ecx, ecx
jne 0x417ba8
mov ebp, 2
jmp 0x417ba8
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x24], 0
jne 0x417cd6
mov eax, dword [eax]
cmp eax, 1
je 0x417cd6
cmp eax, 2
je 0x417cd6
cmp eax, 7
je 0x417cd6
mov eax, dword [esp + 0x48]
mov eax, dword [esi + eax*4 + 0x194]
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x3ec
jne 0x417c1b
cmp dword [edx + 0x6f8], 0
jle 0x417cd6
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jl 0x417cd6
test ebp, ebp
jne 0x417cd6
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x10]
mov edi, dword [eax + 0x10]
sub edi, ecx
cmp dword [eax + 0x98], ebp
jge 0x417c5d
mov eax, dword [eax + 0xa0]
cmp dword [esp + 0x48], eax
jne 0x417c51
mov edi, 0x7d0
jmp 0x417c63
mov edx, dword [esi + eax*4 + 0x194]
mov edi, dword [edx + 0x10]
sub edi, ecx
test edi, edi
jge 0x417c63
neg edi
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x2e8]
cmp edi, eax
jl 0x417c91
jne 0x417f62
push 2
push 0x85
call fcn.00417190
add esp, 8
test eax, eax
jne 0x417f62
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [esp + 0x48]
mov dword [eax + 0x2e8], edi
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x280], edx
mov eax, dword [esi + ebx*4 + 0x194]
mov cl, byte [esp + 0x18]
mov byte [eax + 0x2d0], cl
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x2e4], 1
jmp 0x417f62
mov ecx, dword [esi + ebx*4 + 0x194]
cmp dword [ecx + 0x2e4], 0x14
jge 0x417f62
test ebp, ebp
jne 0x417f62
mov eax, dword [esp + 0x48]
mov eax, dword [esi + eax*4 + 0x194]
mov edi, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul edi, edi, 0x178
cmp dword [edi + eax + 0x7ac], 0x3ec
jne 0x417d43
cmp dword [edx + 0x6f8], ebp
jle 0x417d29
cmp dword [ecx + 0x98], ebp
jge 0x417d43
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
cmp eax, 2
je 0x417d43
cmp eax, 7
je 0x417d43
cmp eax, 0xa
je 0x417d43
mov ebp, 2
mov eax, dword [esp + 0x10]
cmp dword [eax], 1
jne 0x417d91
mov edi, dword [ecx + 0x10]
mov eax, dword [esp + 0x2c]
sub edi, dword [eax + 0x10]
jns 0x417d5a
neg edi
mov eax, dword [eax + 0x2ec]
cmp edi, eax
jl 0x417d80
jne 0x417d79
push 2
push 0x86
call fcn.00417190
add esp, 8
test eax, eax
je 0x417d80
mov ebp, 2
jmp 0x417d91
mov ecx, dword [esp + 0x48]
mov edx, dword [esi + ecx*4 + 0x194]
mov dword [edx + 0x2ec], edi
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
cmp edx, 4
jne 0x417db6
mov ecx, dword [esi + ebx*4 + 0x194]
cmp dword [ecx + 0x320], 0
je 0x417db6
cmp ebp, 2
je 0x417db6
mov ebp, 1
cmp edx, 1
je 0x417dc7
cmp edx, 2
je 0x417e3d
cmp edx, 7
je 0x417e34
jmp 0x417e2a
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0xd0], 0
je 0x417dea
mov ecx, dword [esp + 0x48]
mov ecx, dword [esi + ecx*4 + 0x194]
mov edi, dword [eax + 0x10]
cmp edi, dword [ecx + 0x10]
jl 0x417e06
cmp byte [eax + 0xcf], 0
je 0x417e34
mov ecx, dword [esp + 0x48]
mov ecx, dword [esi + ecx*4 + 0x194]
mov eax, dword [eax + 0x10]
cmp eax, dword [ecx + 0x10]
jl 0x417e34
mov ecx, dword [esp + 0x48]
mov eax, dword [esi + ecx*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x10
jne 0x417e34
cmp ebp, 2
je 0x417e34
mov ebp, 1
cmp edx, 2
jne 0x417ed9
mov ecx, dword [esi + ebx*4 + 0x194]
cmp dword [ecx + 0x98], 0
jne 0x417e94
cmp byte [ecx + 0xd1], 0
je 0x417ed9
cmp byte [ecx + 0xca], 0
jne 0x417e94
mov eax, dword [esp + 0x48]
mov eax, dword [esi + eax*4 + 0x194]
mov edi, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edi, edi, 0x178
cmp dword [edi + eax + 0x7ac], 0x3ec
jne 0x417e94
cmp ebp, 2
je 0x417e94
mov ebp, 1
cmp byte [ecx + 0xd1], 0
je 0x417ed9
cmp byte [ecx + 0xca], 0
jne 0x417ed9
mov ecx, dword [esp + 0x48]
mov eax, dword [esi + ecx*4 + 0x194]
mov edi, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edi, edi, 0x178
cmp dword [edi + eax + 0x7ac], 0x7d4
jne 0x417edd
cmp ebp, 2
je 0x417edd
mov ebp, 1
jmp 0x417edd
mov ecx, dword [esp + 0x48]
cmp edx, 7
jne 0x417f23
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0xd1], 0
je 0x417f23
cmp byte [eax + 0xca], 0
jne 0x417f23
mov eax, dword [esi + ecx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x3ec
jne 0x417f23
cmp ebp, 2
jne 0x417f28
cmp ebp, 1
jne 0x417f62
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x2e4]
mov dword [eax + edx*4 + 0x280], ecx
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x2e4]
mov dl, byte [esp + 0x18]
mov byte [ecx + eax + 0x2d0], dl
mov eax, dword [esi + ebx*4 + 0x194]
add dword [eax + 0x2e4], 1
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
add eax, 1
cmp eax, dword [ecx + 0x12c]
mov dword [esp + 0x20], eax
jl 0x4174b2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
add eax, 1
cmp eax, dword [edx + 0x128]
mov dword [esp + 0x18], eax
jl 0x417485
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x30
ret 0xc