Function at 0x434650
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
movzx edx, byte [ebx]
cmp dl, 0x5a
jg 0x434b78
nop
cmp dl, 0x3f
jg 0x434b69
cmp dl, 0x3a
jg 0x434b60
cmp dl, 0x23
jg 0x434b69
cmp dl, 0x21
je 0x434b69
cmp eax, ebx
je 0x434b8f
lea esi, [esi]
mov ecx, ebx
jae 0x4346be
cmp byte [ebx - 1], 0x2f
je 0x434c88
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 0x434b55
movzx eax, byte [ebx]
cmp al, 0x3b
jne 0x4348b0
lea esi, [esp + 0x3c]
nop
movzx eax, byte [ebx + 1]
lea edx, [ebx + 1]
mov ebx, edx
cmp al, 0x3d
je 0x43472b
test al, al
je 0x43472b
lea esi, [esi]
movzx eax, byte [ebx + 1]
add ebx, 1
test al, al
je 0x434b50
cmp al, 0x3d
jne 0x434718
test al, al
je 0x434b50
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 0x434b55
lea edx, [ebx + 1]
mov ebx, edx
lea esi, [esi]
movzx eax, byte [ebx]
cmp al, 0x5a
jg 0x434bc0
cmp al, 0x3f
jg 0x434bd0
cmp al, 0x3a
jg 0x434bf0
cmp al, 0x23
jg 0x434bd0
cmp al, 0x21
je 0x434bd0
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 0x434d26
mov eax, dword [esp + 0x34]
mov dword [esp + 4], str.UIDVALIDITY
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x4347ee
mov eax, dword [edi + 8]
test eax, eax
je 0x434c00
mov eax, dword [esp + 0x34]
mov dword [esp + 4], 0x46400d
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x434811
mov eax, dword [edi + 0xc]
test eax, eax
je 0x434c30
mov eax, dword [esp + 0x34]
mov dword [esp + 4], str.SECTION
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x434834
mov eax, dword [edi + 0x10]
test eax, eax
je 0x434c60
mov eax, dword [esp + 0x34]
mov dword [esp + 4], str.PARTIAL
mov dword [esp], eax
call sym._Curl_strcasecompare
test eax, eax
je 0x434b30
mov ecx, dword [edi + 0x14]
test ecx, ecx
jne 0x434b30
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434880
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434880
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 [0x45bc90]
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dword [0x45bc90]
movzx eax, byte [ebx]
cmp al, 0x3b
je 0x434700
mov edx, dword [edi + 4]
test edx, edx
je 0x4348c6
mov esi, dword [edi + 0xc]
test esi, esi
jne 0x4348c6
cmp al, 0x3f
je 0x434e8a
movzx eax, byte [ebx]
test al, al
jne 0x434b50
mov eax, dword [esp + 0x60]
mov ebx, dword [eax]
mov eax, dword [ebx + 0x528]
mov esi, dword [ebx + 0x12c]
test eax, eax
je 0x434957
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 0x434b55
mov ebx, dword [esi + 0x1c]
movzx eax, byte [ebx]
test al, 0xdf
je 0x434933
lea esi, [esi]
movzx eax, byte [ebx + 1]
add ebx, 1
test al, 0xdf
jne 0x434928
test al, al
je 0x434951
mov dword [esp], ebx
call dword [0x45bc88]
mov dword [esi + 0x20], eax
mov byte [ebx], 0
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x434fa2
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 esi, dword [eax]
mov ebp, dword [esi + 0x12c]
cmp byte [esi + 0x4d8], 0
mov ebx, ebp
je 0x4349e3
mov dword [ebp], 1
mov eax, dword [esp + 0x64]
mov edx, dword [ebp + 4]
mov byte [eax], 0
test edx, edx
je 0x434e55
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x490]
test eax, eax
je 0x434d43
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._Curl_strcasecompare
mov edx, eax
xor eax, eax
test edx, edx
je 0x434a46
mov edx, dword [ebp + 8]
mov eax, 1
test edx, edx
je 0x434a46
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x494]
test ecx, ecx
je 0x434a46
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._Curl_strcasecompare
test eax, eax
setne al
mov ecx, dword [esp + 0x60]
mov edi, dword [ecx]
cmp byte [edi + 0x4d9], 0
jne 0x434c90
mov edx, dword [esi + 0x244]
test edx, edx
jne 0x434c90
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x434fe8
test al, al
jne 0x434d7f
mov eax, dword [ebp + 4]
test eax, eax
je 0x434d7f
mov esi, edi
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x490]
mov ebx, dword [esi + 0x12c]
mov dword [esp], eax
call dword [0x45bc90]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x490], 0
mov eax, dword [eax + 0x494]
mov dword [esp], eax
call dword [0x45bc90]
mov eax, dword [esp + 0x60]
mov dword [eax + 0x494], 0
mov eax, dword [ebx + 4]
test eax, eax
je 0x434fcd
xor edx, edx
call sym._imap_atom
mov ebx, eax
test eax, eax
je 0x434fa2
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 [0x45bc90]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x434b55
mov eax, dword [esp + 0x60]
mov dword [eax + 0x460], 8
jmp 0x434d90
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call dword [0x45bc90]
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call dword [0x45bc90]
lea esi, [esi]
mov eax, 3
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dl, 0x3d
jne 0x4346a4
add ebx, 1
movzx edx, byte [ebx]
cmp dl, 0x5a
jle 0x434680
cmp dl, 0x7a
jg 0x434bb0
cmp dl, 0x60
jg 0x434b69
cmp dl, 0x5f
je 0x434b69
cmp eax, ebx
jne 0x4346b0
mov dword [edi + 4], 0
movzx eax, byte [ebx]
cmp al, 0x3b
je 0x4346fa
jmp 0x4348c9
cmp dl, 0x7e
jne 0x4346a4
add ebx, 1
jmp 0x434b6c
cmp al, 0x7a
jg 0x434be0
cmp al, 0x60
jg 0x434bd0
cmp al, 0x5f
jne 0x43479b
add ebx, 1
jmp 0x434770
cmp al, 0x7e
jne 0x43479b
jmp 0x434bd0
cmp al, 0x3d
jne 0x43479b
jmp 0x434bd0
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434c20
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434c20
mov byte [edx], 0
mov eax, dword [esp + 0x38]
lea esi, [esi]
mov dword [edi + 8], eax
jmp 0x434883
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434c50
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434c50
mov byte [edx], 0
mov eax, dword [esp + 0x38]
lea esi, [esi]
mov dword [edi + 0xc], eax
jmp 0x434883
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
test edx, edx
je 0x434c80
lea edx, [eax + edx - 1]
cmp byte [edx], 0x2f
jne 0x434c80
mov byte [edx], 0
mov eax, dword [esp + 0x38]
lea esi, [esi]
mov dword [edi + 0x10], eax
jmp 0x434883
lea ecx, [ebx - 1]
jmp 0x4346be
mov ebx, dword [edi + 0x12c]
mov esi, dword [ebx + 4]
test esi, esi
je 0x435005
mov ecx, dword [edi + 0x244]
test ecx, ecx
jne 0x434efe
mov edx, dword [edi + 0xa14]
test edx, edx
js 0x434fb3
mov eax, dword [ebx + 4]
xor edx, edx
call sym._imap_atom
mov ebx, eax
test eax, eax
je 0x434fa2
mov eax, dword [edi + 0xa10]
mov edx, dword [edi + 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 [0x45bc90]
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x434b55
mov eax, dword [esp + 0x60]
mov dword [eax + 0x460], 0xb
jmp 0x434d90
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov dword [esp], edx
call dword [0x45bc90]
mov eax, dword [esp + 0x2c]
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp byte [esi + 0x4d9], 0
jne 0x434fac
mov ecx, dword [esi + 0x244]
test ecx, ecx
jne 0x434e81
mov edx, dword [ebp + 0x1c]
test edx, edx
jne 0x434a91
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x434a87
mov edi, dword [ebp + 0x18]
test edi, edi
jne 0x434a87
mov eax, dword [esp + 0x60]
call sym._imap_perform_list
test eax, eax
jne 0x434b55
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x28c]
test byte [eax + 0x44], 1
je 0x434db6
mov ecx, dword [esp + 0x60]
mov eax, 4
cmp byte [ecx + 0x464], 0
je 0x434b55
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 0x434b55
test edx, edx
jne 0x434b55
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x12c]
mov esi, dword [edx]
test esi, esi
je 0x434b55
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]
jmp 0x434b55
cmp byte [esi + 0x4d9], 0
jne 0x434e6c
mov ebx, dword [esi + 0x244]
test ebx, ebx
je 0x434d7f
mov dword [esp + 4], str.Cannot_APPEND_without_a_mailbox.
mov dword [esp], esi
call sym._Curl_failf
jmp 0x434b50
mov ebx, ebp
mov edi, esi
jmp 0x434ca1
add ebx, 1
mov esi, ebx
movzx eax, byte [esi]
cmp al, 0x5a
jg 0x434ee1
cmp al, 0x3f
jg 0x434eed
cmp al, 0x3a
jg 0x434ef8
cmp al, 0x23
jg 0x434eed
cmp al, 0x21
je 0x434eed
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 0x434b55
movzx eax, byte [esi]
jmp 0x4348c9
cmp al, 0x7a
jg 0x434ef2
cmp al, 0x60
jg 0x434eed
cmp al, 0x5f
jne 0x434ea6
add esi, 1
jmp 0x434e8f
cmp al, 0x7e
jne 0x434ea6
jmp 0x434eed
cmp al, 0x3d
jne 0x434ea6
jmp 0x434eed
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 0x434b55
mov eax, dword [esp + 0x60]
mov dword [esp + 4], 0x464141
mov dword [esp], eax
call sym._Curl_checkheaders
test eax, eax
je 0x435010
mov dword [esp], esi
call sym._Curl_mime_rewind
test eax, eax
jne 0x434b55
mov dword [esp], esi
call sym._Curl_mime_size
mov dword [edi + 0xa24], esi
mov dword [edi + 0xa10], eax
mov dword [edi + 0xa14], edx
mov dword [edi + 0xa20], 0x40f860
jmp 0x434cb5
mov eax, 0x1b
jmp 0x434b55
mov edi, esi
jmp 0x434ca1
mov dword [esp + 4], str.Cannot_APPEND_with_unknown_input_file_size_n
mov dword [esp], edi
call sym._Curl_failf
mov eax, 0x19
jmp 0x434b55
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 0x434b50
test al, al
je 0x43507e
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x435033
mov eax, dword [esp + 0x60]
call sym._imap_perform_fetch
jmp 0x434d88
mov esi, edi
jmp 0x434e6c
lea eax, [edi + 0x260]
mov dword [esp + 4], 0x46414e
mov dword [esp], eax
call sym._Curl_mime_add_header
test eax, eax
jne 0x434b55
jmp 0x434f69
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x434d7f
mov eax, dword [edi + 0x12c]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x43508f
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 0x434b55
mov eax, dword [esp + 0x60]
mov dword [eax + 0x460], 0xd
jmp 0x434d90
cmp dword [ebp + 4], 0
je 0x434d7f
mov esi, edi
jmp 0x434d69
mov dword [esp + 4], str.Cannot_SEARCH_without_a_query_string.
mov dword [esp], edi
call sym._Curl_failf
jmp 0x434b50