Function at 0x434550
Capabilities:
Parse credit card information

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x64]
mov byte [eax], 0
mov eax, dword [esp + 0x60]
mov ebp, dword [eax]
mov eax, dword [ebp + 0x9e8]
mov edi, dword [ebp + 0x12c]
mov ebx, eax
lea esi, [esi]
movzx edx, byte [ebx]
cmp dl, 0x5a
jg 0x434a50
cmp dl, 0x3f
jg 0x434a68
cmp dl, 0x3a
jg 0x434a70
cmp dl, 0x23
jg 0x434a68
cmp dl, 0x21
je 0x434a68
cmp eax, ebx
je 0x434a7d
mov ecx, ebx
jae 0x4345be
cmp byte [ebx - 1], 0x2f
je 0x434b78
sub ecx, eax
lea esi, [edi + 4]
mov dword [esp + 4], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], esi
mov dword [esp + 8], ecx
mov dword [esp], ebp
call sym._Curl_urldecode
test eax, eax
jne 0x434a3f
movzx eax, byte [ebx]
cmp al, 0x3b
jne 0x4347b0
lea esi, [esp + 0x3c]
nop
movzx eax, byte [ebx + 1]
lea edx, [ebx + 1]
mov ebx, edx
cmp al, 0x3d
je 0x43462b
test al, al
je 0x43462b
lea esi, [esi]
movzx eax, byte [ebx + 1]
add ebx, 1
test al, al
je 0x434c33
cmp al, 0x3d
jne 0x434618
test al, al
je 0x434c33
lea eax, [esp + 0x34]
mov dword [esp + 0x14], 1
mov dword [esp + 0xc], eax
mov eax, ebx
sub eax, edx
mov dword [esp + 0x10], 0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
call sym._Curl_urldecode
test eax, eax
jne 0x434a3f
lea edx, [ebx + 1]
mov ebx, edx
lea esi, [esi]
movzx eax, byte [ebx]
cmp al, 0x5a
jg 0x434ab0
cmp al, 0x3f
jg 0x434ac0
cmp al, 0x3a
jg 0x434ae0
cmp al, 0x23
jg 0x434ac0
cmp al, 0x21
je 0x434ac0
lea eax, [esp + 0x38]
mov dword [esp + 0x14], 1
mov dword [esp + 0xc], eax
mov eax, ebx
sub eax, edx
mov dword [esp + 0x10], esi
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebp
call sym._Curl_urldecode
test eax, eax
jne 0x434c40
mov eax, dword [esp + 0x34]
mov dword [esp + 4], str.UIDVALIDITY
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x4346ee
mov eax, dword [edi + 8]
test eax, eax
je 0x434af0
mov eax, dword [esp + 0x34]
mov dword [esp + 4], 0x46700d
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x434711
mov eax, dword [edi + 0xc]
test eax, eax
je 0x434b20
mov eax, dword [esp + 0x34]
mov dword [esp + 4], str.SECTION
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x434734
mov eax, dword [edi + 0x10]
test eax, eax
je 0x434b50
mov eax, dword [esp + 0x34]
mov dword [esp + 4], str.PARTIAL
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x434c19
mov ecx, dword [edi + 0x14]
test ecx, ecx
jne 0x434c19
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434780
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434780
mov byte [edx], 0
mov eax, dword [esp + 0x38]
lea esi, cs:[esi]
nop
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], 0
mov dword [esp], eax
call dword [0x45e810]
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dword [0x45e810]
movzx eax, byte [ebx]
cmp al, 0x3b
je 0x434600
mov edx, dword [edi + 4]
test edx, edx
je 0x4347c6
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x4347c6
cmp al, 0x3f
je 0x434e09
movzx eax, byte [ebx]
test al, al
jne 0x434c33
mov eax, dword [esp + 0x60]
mov ebx, dword [eax]
mov eax, dword [ebx + 0x528]
mov esi, dword [ebx + 0x12c]
test eax, eax
je 0x434857
lea edx, [esi + 0x1c]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym._Curl_urldecode
test eax, eax
jne 0x434a3f
mov ebx, dword [esi + 0x1c]
movzx eax, byte [ebx]
test al, 0xdf
je 0x434833
lea esi, [esi]
movzx eax, byte [ebx + 1]
add ebx, 1
test al, 0xdf
jne 0x434828
test al, al
je 0x434851
mov dword [esp], ebx
call dword [0x45e808]
mov dword [esi + 0x20], eax
mov byte [ebx], 0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x434e7b
mov eax, dword [esp + 0x60]
mov ebx, dword [eax]
mov dword [ebx + 0x70], 0xffffffff
mov dword [ebx + 0x74], 0xffffffff
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym._Curl_pgrsSetUploadCounter
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call sym._Curl_pgrsSetDownloadCounter
mov dword [esp], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], 0xffffffff
call sym._Curl_pgrsSetUploadSize
mov dword [esp], ebx
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], 0xffffffff
call sym._Curl_pgrsSetDownloadSize
mov eax, dword [esp + 0x60]
mov edi, dword [eax]
mov ebp, dword [edi + 0x12c]
cmp byte [edi + 0x4d8], 0
mov ebx, ebp
je 0x4348e3
mov dword [ebp], 1
mov eax, dword [esp + 0x64]
mov byte [eax], 0
mov eax, dword [ebp + 4]
test eax, eax
je 0x434d38
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x490]
test edx, edx
je 0x434c5d
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._Curl_strcasecompare
mov edx, eax
xor eax, eax
test edx, edx
je 0x434946
mov edx, dword [ebp + 8]
mov eax, 1
test edx, edx
je 0x434946
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x494]
test ecx, ecx
je 0x434946
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._Curl_strcasecompare
test eax, eax
setne al
mov ecx, dword [esp + 0x60]
mov esi, dword [ecx]
cmp byte [esi + 0x4d9], 0
jne 0x434b80
mov edx, dword [edi + 0x244]
test edx, edx
jne 0x434b80
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x434f32
test al, al
je 0x434f2b
mov eax, dword [esp + 0x60]
call sym._imap_perform_list
test eax, eax
jne 0x434a3f
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x28c]
test byte [eax + 0x44], 1
je 0x4349b1
mov ecx, dword [esp + 0x60]
mov eax, 4
cmp byte [ecx + 0x464], 0
je 0x434a3f
mov eax, dword [esp + 0x60]
mov dword [esp + 4], 0
add eax, 0x428
mov dword [esp], eax
call sym._Curl_pp_statemach
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx + 0x460]
mov ecx, dword [esp + 0x64]
test edx, edx
sete byte [ecx]
test eax, eax
jne 0x434a3f
test edx, edx
jne 0x434a3f
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x12c]
mov ebx, dword [edx]
test ebx, ebx
je 0x434a3f
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp], ecx
mov dword [esp + 0x2c], eax
call sym._Curl_setup_transfer
mov eax, dword [esp + 0x2c]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dl, 0x7a
jg 0x434a98
cmp dl, 0x60
jg 0x434a68
cmp dl, 0x5f
jne 0x4345a8
lea esi, cs:[esi]
add ebx, 1
jmp 0x434578
cmp dl, 0x3d
je 0x434a68
cmp eax, ebx
jne 0x4345b0
mov dword [edi + 4], 0
movzx eax, byte [ebx]
cmp al, 0x3b
je 0x4345fa
jmp 0x4347c9
cmp dl, 0x7e
jne 0x4345a8
add ebx, 1
jmp 0x434578
cmp al, 0x7a
jg 0x434ad0
cmp al, 0x60
jg 0x434ac0
cmp al, 0x5f
jne 0x43469b
add ebx, 1
jmp 0x434670
cmp al, 0x7e
jne 0x43469b
jmp 0x434ac0
cmp al, 0x3d
jne 0x43469b
jmp 0x434ac0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434b10
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434b10
mov byte [edx], 0
mov eax, dword [esp + 0x38]
lea esi, [esi]
mov dword [edi + 8], eax
jmp 0x434783
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434b40
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434b40
mov byte [edx], 0
mov eax, dword [esp + 0x38]
lea esi, [esi]
mov dword [edi + 0xc], eax
jmp 0x434783
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434b70
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434b70
mov byte [edx], 0
mov eax, dword [esp + 0x38]
lea esi, [esi]
mov dword [edi + 0x10], eax
jmp 0x434783
lea ecx, [ebx - 1]
jmp 0x4345be
mov ebx, dword [esi + 0x12c]
mov edi, dword [ebx + 4]
test edi, edi
je 0x434efa
mov ecx, dword [esi + 0x244]
test ecx, ecx
jne 0x434eb0
mov edx, dword [esi + 0xa14]
test edx, edx
js 0x434e8c
mov eax, dword [ebx + 4]
xor edx, edx
call sym._imap_atom
mov ebx, eax
test eax, eax
je 0x434e7b
mov eax, dword [esi + 0xa10]
mov edx, dword [esi + 0xa14]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.APPEND__s__Seen___I64d
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call sym._imap_sendf
mov dword [esp], ebx
mov dword [esp + 0x2c], eax
call dword [0x45e810]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x434a3f
mov eax, dword [esp + 0x60]
mov dword [eax + 0x460], 0xb
jmp 0x43498b
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x45e810]
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dword [0x45e810]
add esp, 0x4c
mov eax, 3
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov dword [esp], edx
call dword [0x45e810]
mov eax, dword [esp + 0x2c]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [edi + 0x4d9], 0
jne 0x434e85
mov ecx, dword [edi + 0x244]
test ecx, ecx
jne 0x434d5a
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x434eb9
mov eax, dword [ebp + 4]
test eax, eax
je 0x43497a
mov eax, dword [esp + 0x60]
mov ebx, dword [edi + 0x12c]
mov eax, dword [eax + 0x490]
mov dword [esp], eax
call dword [0x45e810]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x490], 0
mov eax, dword [eax + 0x494]
mov dword [esp], eax
call dword [0x45e810]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x494], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x434edf
xor edx, edx
call sym._imap_atom
mov ebx, eax
test eax, eax
je 0x434e7b
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], str.SELECT__s
mov dword [esp], eax
call sym._imap_sendf
mov dword [esp], ebx
mov dword [esp + 0x2c], eax
call dword [0x45e810]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x434a3f
mov eax, dword [esp + 0x60]
mov dword [eax + 0x460], 8
jmp 0x43498b
cmp byte [edi + 0x4d9], 0
je 0x434c6a
mov dword [esp + 4], str.Cannot_APPEND_without_a_mailbox.
mov dword [esp], edi
call sym._Curl_failf
jmp 0x434c33
mov eax, dword [ebp + 4]
mov ebx, ebp
test eax, eax
je 0x434d45
and dword [edi + 0x280], 0xfffffffd
lea esi, [edi + 0x238]
mov dword [esp + 8], 0
mov eax, dword [edi + 0x228]
mov dword [esp], esi
mov dword [esp + 4], eax
call sym._curl_mime_headers
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call sym._Curl_mime_prepare_headers
test eax, eax
jne 0x434a3f
mov eax, dword [esp + 0x60]
mov dword [esp + 4], 0x467141
mov dword [esp], eax
call sym._Curl_checkheaders
test eax, eax
je 0x434f08
mov dword [esp], esi
call sym._Curl_mime_rewind
test eax, eax
jne 0x434a3f
mov dword [esp], esi
call sym._Curl_mime_size
mov dword [edi + 0xa24], esi
mov esi, edi
mov dword [edi + 0xa10], eax
mov dword [edi + 0xa14], edx
mov dword [edi + 0xa20], 0x40f820
jmp 0x434ba5
add ebx, 1
mov esi, ebx
movzx eax, byte [esi]
cmp al, 0x5a
jg 0x434e6d
cmp al, 0x3f
jg 0x434e68
cmp al, 0x3a
jg 0x434ea6
cmp al, 0x23
jg 0x434e68
cmp al, 0x21
je 0x434e68
mov eax, esi
lea edx, [edi + 0x18]
mov dword [esp + 4], ebx
sub eax, ebx
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], ebp
call sym._Curl_urldecode
test eax, eax
jne 0x434a3f
movzx eax, byte [esi]
jmp 0x4347c9
cmp al, 0x7e
jne 0x434e29
add esi, 1
jmp 0x434e0e
cmp al, 0x7a
jg 0x434e64
cmp al, 0x60
jg 0x434e68
cmp al, 0x5f
jne 0x434e29
jmp 0x434e68
mov eax, 0x1b
jmp 0x434a3f
mov esi, edi
jmp 0x434b91
mov dword [esp + 4], str.Cannot_APPEND_with_unknown_input_file_size_n
mov dword [esp], esi
call sym._Curl_failf
mov eax, 0x19
jmp 0x434a3f
cmp al, 0x3d
jne 0x434e29
jmp 0x434e68
mov edi, esi
jmp 0x434d63
mov edi, esi
mov eax, dword [ebp + 4]
test eax, eax
je 0x43497a
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x434c8e
mov esi, dword [ebp + 0x18]
test esi, esi
jne 0x434c8e
jmp 0x43497a
mov eax, dword [esp + 0x60]
mov dword [esp + 4], str.Cannot_SELECT_without_a_mailbox.
mov eax, dword [eax]
mov dword [esp], eax
call sym._Curl_failf
jmp 0x434c33
mov edi, esi
jmp 0x434d45
lea eax, [edi + 0x260]
mov dword [esp + 4], 0x46714e
mov dword [esp], eax
call sym._Curl_mime_add_header
test eax, eax
jne 0x434a3f
jmp 0x434dce
mov edi, esi
jmp 0x434c83
test al, al
je 0x434eb7
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x434f4b
mov eax, dword [esp + 0x60]
call sym._imap_perform_fetch
jmp 0x434983
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x43497a
mov eax, dword [esi + 0x12c]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x434f96
mov dword [esp + 8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], str.SEARCH__s
mov dword [esp], eax
call sym._imap_sendf
test eax, eax
jne 0x434a3f
mov eax, dword [esp + 0x60]
mov dword [eax + 0x460], 0xd
jmp 0x43498b
mov dword [esp + 4], str.Cannot_SEARCH_without_a_query_string.
mov dword [esp], esi
call sym._Curl_failf
jmp 0x434c33