Function at 0x417400
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 0x417f77
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 0x417f59
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 0x4174e2
cmp eax, 0xcb
je 0x4174e2
cmp eax, 0xcd
je 0x4174e2
cmp eax, 0xce
je 0x4174e2
cmp eax, 0xcf
je 0x4174e2
cmp eax, 0xd7
je 0x4174e2
cmp eax, 0xd8
jne 0x41750c
mov edi, dword [esp + 0x48]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0xd1
jne 0x417510
mov eax, dword [esp + 0x10]
cmp dword [eax], 9
jne 0x417f59
mov edi, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
cmp edx, 3
mov dword [esp + 0x14], edx
jne 0x41753d
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x417f59
mov edi, dword [esp + 0x48]
test edx, edx
jne 0x4176ac
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
cmp ecx, 4
jne 0x41756e
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
cmp dword [eax + 0x6f8], edx
je 0x417f59
mov edi, dword [esp + 0x48]
cmp ecx, 0x14
jne 0x4175e1
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x417f59
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 0x417f59
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 0x417f59
mov edi, dword [esp + 0x48]
cmp ecx, 0x15
jne 0x417636
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 0x417f59
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 0x417f59
mov edi, dword [esp + 0x48]
cmp ecx, 0x1e
jne 0x41765b
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x70]
cmp eax, 0xc8
jl 0x41765b
cmp eax, 0xca
jle 0x417f59
mov edi, dword [esp + 0x48]
cmp ecx, 2
jne 0x4176ac
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 0x4176ac
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 0x417f59
mov edi, dword [esp + 0x48]
cmp edx, 8
jne 0x4176cf
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x417f59
mov edi, dword [esp + 0x48]
mov ebx, dword [esi + edi*4 + 0x194]
cmp dword [ebx + 8], 0
je 0x4176ee
cmp edx, 8
je 0x4176ee
cmp edx, 0xe
jne 0x417f59
mov edi, dword [esp + 0x48]
cmp edx, 4
jl 0x417724
cmp edx, 6
je 0x417724
cmp edx, 9
jne 0x41770c
mov ecx, dword [ebx + 0x368]
cmp dword [ecx + 0x6f8], 0
je 0x417724
cmp edx, 0xa
je 0x417724
cmp edx, 0xb
je 0x417724
cmp edx, 0xf
je 0x417724
cmp edx, 0x10
jne 0x417866
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 0x417866
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 0x417866
mov ecx, dword [ebx + 0x368]
cmp dword [ecx + 0x6f4], 0xd4
jne 0x4177b9
cmp dword [esp + 0x28], 0xd4
jne 0x417866
mov eax, dword [ebx + 0x70]
cdq
mov ebp, 0xa
idiv ebp
cmp edx, 5
jne 0x4177b5
mov edx, dword [esp + 0x44]
mov eax, dword [esi + edx*4 + 0x194]
mov eax, dword [eax + 0x70]
cdq
idiv ebp
test edx, edx
je 0x417862
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 0x417866
test eax, eax
je 0x417866
cmp edx, 8
je 0x417866
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 0x41781c
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x2c]
cmp eax, 0x15
je 0x41781c
cmp eax, 0x16
jne 0x417862
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x6f8], 0
jne 0x417840
cmp dword [ecx + 0x6f8], 3
jne 0x417840
mov dl, byte [ebp + 0x80]
cmp dl, byte [ebx + 0x80]
jne 0x417862
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x417862
cmp eax, 2
je 0x417862
cmp eax, 4
je 0x417862
cmp eax, 6
jne 0x417f59
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x14]
cmp edx, 5
jne 0x417919
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 0x417919
test eax, eax
je 0x417919
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 0x417919
mov ecx, dword [ebx + 0x368]
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x417919
cmp eax, 2
je 0x417919
cmp eax, 4
je 0x417919
cmp eax, 6
je 0x417919
cmp dword [ecx + 0x6f4], 0xd4
jne 0x417f59
cmp dword [esp + 0x28], 0xd4
jne 0x417919
mov eax, dword [ebx + 0x70]
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 5
jne 0x417f59
mov eax, dword [ebp + 0x70]
cdq
idiv ecx
test edx, edx
jne 0x417f59
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 0x417988
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 0x4179bd
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 0x4179ff
sub ebx, dword [eax + 0x7f4]
add edx, ebx
jmp 0x417a18
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 0x417a38
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 0x417a67
neg eax
cmp ecx, eax
mov ebx, 1
jg 0x417a6b
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.004171c0
add esp, 0x20
test eax, eax
je 0x417f3e
test ebx, ebx
je 0x417f3e
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 0x417ae2
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x1c], 0x28
jg 0x417ae2
mov eax, dword [eax]
cmp eax, 0xa
je 0x417ae2
cmp eax, 0xb
je 0x417ae2
mov ebp, 2
cmp dword [esp + 0x4c], 1
mov edx, dword [esp + 0x1c]
jne 0x417b82
xor ecx, ecx
cmp dword [edx + 0x6f8], ecx
je 0x417b0f
mov eax, dword [edx + 0x6f4]
cmp eax, 0xc9
je 0x417b0f
cmp eax, 0xca
jne 0x417b2a
mov ebx, dword [esp + 0x44]
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x364], 5
je 0x417b2e
mov ecx, 1
jmp 0x417b2e
mov ebx, dword [esp + 0x44]
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x417b6f
mov eax, dword [eax + 0xa0]
cmp byte [eax + esi + 4], 1
jne 0x417b6f
mov eax, dword [esi + eax*4 + 0x194]
mov edi, dword [eax + 0x368]
cmp dword [edi + 0x6f8], 0
jne 0x417b6f
cmp dword [eax + 0x364], 5
je 0x417b6f
mov ecx, 1
cmp dword [esp + 0x3c], 0x3e8
jl 0x417b86
test ecx, ecx
jne 0x417b86
lea ebp, [ecx + 2]
jmp 0x417b86
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x24], 0
jne 0x417cb4
mov eax, dword [eax]
cmp eax, 1
je 0x417cb4
cmp eax, 2
je 0x417cb4
cmp eax, 7
je 0x417cb4
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 0x417bf9
cmp dword [edx + 0x6f8], 0
jle 0x417cb4
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jl 0x417cb4
test ebp, ebp
jne 0x417cb4
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 0x417c3b
mov eax, dword [eax + 0xa0]
cmp dword [esp + 0x48], eax
jne 0x417c2f
mov edi, 0x7d0
jmp 0x417c41
mov edx, dword [esi + eax*4 + 0x194]
mov edi, dword [edx + 0x10]
sub edi, ecx
test edi, edi
jge 0x417c41
neg edi
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x2e8]
cmp edi, eax
jl 0x417c6f
jne 0x417f3e
push 2
push 0x85
call fcn.00417170
add esp, 8
test eax, eax
jne 0x417f3e
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 0x417f3e
mov ecx, dword [esi + ebx*4 + 0x194]
cmp dword [ecx + 0x2e4], 0x14
jge 0x417f3e
test ebp, ebp
jne 0x417f3e
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 0x417d21
cmp dword [edx + 0x6f8], ebp
jle 0x417d07
cmp dword [ecx + 0x98], ebp
jge 0x417d21
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
cmp eax, 2
je 0x417d21
cmp eax, 7
je 0x417d21
cmp eax, 0xa
je 0x417d21
mov ebp, 2
mov eax, dword [esp + 0x10]
cmp dword [eax], 1
jne 0x417d6f
mov edi, dword [ecx + 0x10]
mov eax, dword [esp + 0x2c]
sub edi, dword [eax + 0x10]
jns 0x417d38
neg edi
mov eax, dword [eax + 0x2ec]
cmp edi, eax
jl 0x417d5e
jne 0x417d57
push 2
push 0x86
call fcn.00417170
add esp, 8
test eax, eax
je 0x417d5e
mov ebp, 2
jmp 0x417d6f
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 0x417d92
mov ecx, dword [esi + ebx*4 + 0x194]
cmp dword [ecx + 0x320], 0
je 0x417d92
cmp ebp, 2
je 0x417d92
lea ebp, [edx - 3]
cmp edx, 1
je 0x417da3
cmp edx, 2
je 0x417e19
cmp edx, 7
je 0x417e10
jmp 0x417e06
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0xd0], 0
je 0x417dc6
mov ecx, dword [esp + 0x48]
mov ecx, dword [esi + ecx*4 + 0x194]
mov edi, dword [eax + 0x10]
cmp edi, dword [ecx + 0x10]
jl 0x417de2
cmp byte [eax + 0xcf], 0
je 0x417e10
mov ecx, dword [esp + 0x48]
mov ecx, dword [esi + ecx*4 + 0x194]
mov eax, dword [eax + 0x10]
cmp eax, dword [ecx + 0x10]
jl 0x417e10
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 0x417e10
cmp ebp, 2
je 0x417e10
mov ebp, 1
cmp edx, 2
jne 0x417eb5
mov ecx, dword [esi + ebx*4 + 0x194]
cmp dword [ecx + 0x98], 0
jne 0x417e70
cmp byte [ecx + 0xd1], 0
je 0x417eb5
cmp byte [ecx + 0xca], 0
jne 0x417e70
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 0x417e70
cmp ebp, 2
je 0x417e70
mov ebp, 1
cmp byte [ecx + 0xd1], 0
je 0x417eb5
cmp byte [ecx + 0xca], 0
jne 0x417eb5
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 0x417eb9
cmp ebp, 2
je 0x417eb9
mov ebp, 1
jmp 0x417eb9
mov ecx, dword [esp + 0x48]
cmp edx, 7
jne 0x417eff
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0xd1], 0
je 0x417eff
cmp byte [eax + 0xca], 0
jne 0x417eff
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 0x417eff
cmp ebp, 2
jne 0x417f04
cmp ebp, 1
jne 0x417f3e
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 0x417492
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
add eax, 1
cmp eax, dword [edx + 0x128]
mov dword [esp + 0x18], eax
jl 0x417465
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x30
ret 0xc