Function at 0x45bae0
Capabilities:
Encode data using base64
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x46f715
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xbc
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x1c]
mov dword [esp + 0x14], ebp
call sub.MFC42.DLL_CString::CString_2
xor edi, edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0xd4], edi
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c]
mov byte [esp + 0xd4], 1
call fcn.0045c8b0
mov ebx, dword [esp + 0xe0]
mov dword [esp + 0xd4], 2
cmp ebx, edi
jl 0x45c85f
cmp ebx, 0x12c
jg 0x45c85f
mov eax, dword [ebp + 4]
lea esi, [ebp + 4]
cmp dword [eax - 8], edi
jne 0x45bb72
mov dword [esp + 0xd4], 4
jmp 0x45c86a
cmp dword [ebp + 8], edi
je 0x45bb7e
mov ecx, ebp
call fcn.0045cb20
mov eax, dword [esp + 0xdc]
mov dword [ebp + 0x18], ebx
cmp eax, edi
jne 0x45bbb3
mov eax, ebp
lea ecx, [esp + 0x1c]
neg eax
sbb eax, eax
mov dword [esp + 0x20], edi
and eax, esi
push eax
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
call fcn.0045b760
jmp 0x45c827
mov ecx, dword [esi]
xor ebp, ebp
cmp dword [ecx - 8], edi
jle 0x45c7d3
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov eax, dword [esp + 0x20]
jmp 0x45bbd2
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov cl, byte [ecx + ebp]
cmp cl, 0xa
jne 0x45bc3b
cmp eax, ebp
jge 0x45bc27
mov edx, ebp
mov ecx, esi
sub edx, eax
push edx
push eax
lea eax, [esp + 0x94]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 5
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0045b760
inc ebp
mov dword [esp + 0x48], 1
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x45c7be
cmp cl, 0x68
je 0x45bc49
cmp cl, 0x77
jne 0x45bf18
push 4
lea edx, [esp + 0xc4]
push ebp
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push str.http
push eax
mov byte [esp + 0xdc], 6
call ebx
add esp, 8
test eax, eax
je 0x45bca8
push 3
lea eax, [esp + 0xbc]
push ebp
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push 0x4866c0
push eax
call ebx
add esp, 8
lea ecx, [esp + 0xb8]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x45bcb7
cmp dword [esp + 0x28], edi
sete al
test al, al
je 0x45bcb7
mov bl, 1
jmp 0x45bcb9
xor bl, bl
lea ecx, [esp + 0xc0]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test bl, bl
je 0x45bf18
cmp eax, ebp
jge 0x45bd26
mov ecx, ebp
lea edx, [esp + 0xc8]
sub ecx, eax
push ecx
push eax
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 7
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0xc8]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
call fcn.0045b760
mov esi, dword [esi]
xor ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esi - 8]
cmp ebp, eax
mov dword [esp + 0x58], eax
jge 0x45bd8b
mov ebx, ebp
lea edx, [esi + ebp]
mov al, byte [edx]
cmp al, 0x61
jl 0x45bd48
cmp al, 0x7a
jle 0x45bd7c
cmp al, 0x41
jl 0x45bd50
cmp al, 0x5a
jle 0x45bd7c
cmp al, 0x30
jl 0x45bd58
cmp al, 0x39
jle 0x45bd7c
cmp al, 0x2f
je 0x45bd7c
cmp al, 0x2e
je 0x45bd7c
cmp al, 0x3a
je 0x45bd7c
cmp al, 0x26
je 0x45bd7c
cmp al, 0x3f
je 0x45bd7c
cmp al, 0x3d
je 0x45bd7c
cmp al, 0x2d
je 0x45bd7c
cmp al, 0x5f
je 0x45bd7c
cmp al, 0x25
jne 0x45bd87
mov eax, dword [esp + 0x58]
inc ecx
inc edx
inc ebx
cmp ebx, eax
jl 0x45bd3e
mov dword [esp + 0x18], ecx
mov esi, 0xffffff
push 0x4872c8
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4872c8
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::operator_1
xor ecx, ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x3c], ecx
push edx
mov dword [esp + 0x44], ecx
lea eax, [esp + 0x78]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x18]
push ebp
push eax
lea esi, [ecx + 4]
mov dword [esp + 0x54], edi
mov ecx, esi
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x34], 1
mov dword [esp + 0x2c], ebp
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 8
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x74]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x2c]
push edx
call sub.MFC42.DLL_CString::operator
push 3
lea eax, [esp + 0xb8]
push ebp
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push 0x4866c0
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0xb4]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x45bea7
lea ecx, [esp + 0x2c]
lea edx, [esp + 0x7c]
push ecx
push 0x4866b8
push edx
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xd8], 9
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x7c]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
call fcn.0045b760
push 0x4872c8
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xffffff
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4872c8
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x38], ecx
add ebp, eax
mov dword [esp + 0x3c], ecx
mov eax, ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x20], eax
jmp 0x45c7be
mov ecx, dword [esi]
cmp byte [ecx + ebp], 0x3c
jne 0x45c01f
mov ecx, dword [ecx - 8]
lea edx, [ebp + 3]
cmp edx, ecx
jge 0x45c01f
push 4
lea eax, [esp + 0xa8]
push ebp
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push 0x481130
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0xa4]
test eax, eax
sete bl
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test bl, bl
je 0x45c01f
cmp eax, ebp
jge 0x45bfbf
mov ecx, ebp
lea edx, [esp + 0x84]
sub ecx, eax
push ecx
push eax
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 0xa
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x84]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
call fcn.0045b760
push 0x4872c8
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xffffff
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4872c8
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::operator_1
xor ecx, ecx
add ebp, 4
mov dword [esp + 0x38], ecx
mov eax, ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], edi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x44], ecx
mov dword [esp + 0x20], eax
jmp 0x45c7be
mov edx, dword [esi]
cmp byte [edx + ebp], 0x2f
jne 0x45c7bb
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x58], eax
xor eax, eax
lea edi, [esp + 0x64]
mov dword [esp + 0x64], eax
mov byte [esp + 0x68], al
mov eax, dword [esp + 0x18]
movsx ebx, byte [eax + str.2:O3:__2:2_:38__2:_2:_3:_X3:_z3:_3:_2:_2:P2:D2:_3_D_3_J_3_H_3_M_4_QQ_4_MM_3_L_3_S_3_K_3_T_3___3_O_3__3_B_3_F_3_U_3_V_3_W_4_Y1_4_Y2_3___4____3_X_3_I_3_G_4____3__3_C_3_Z_3__3___4_OK_4_NO_4_00_4_11_]
sub ebx, 0x30
lea esi, [eax + 0x486525]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x5c]
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x64]
lea ecx, [esp + 0x5c]
push eax
push 0x4806b4
push ecx
mov byte [esp + 0xe0], 0xb
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, eax
lea edx, [esp + 0xc4]
neg ecx
sbb ecx, ecx
add eax, 4
and ecx, eax
lea eax, [ebp + 1]
push ebx
push eax
push edx
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x60]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0xc4]
test eax, eax
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
test al, al
jne 0x45c21b
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xd4], 2
lea ebx, [ecx + ebx + 1]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x18], ebx
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x58]
inc ecx
cmp ebx, 0xc9
mov dword [esp + 0x58], ecx
jl 0x45c035
xor edi, edi
mov eax, dword [esp + 0x14]
lea ecx, [ebp + 1]
lea esi, [eax + 4]
mov eax, dword [eax + 4]
mov ebx, dword [eax - 8]
cmp ecx, ebx
jge 0x45c7b7
cmp byte [eax + ebp + 1], 0x3c
jne 0x45c7b7
lea ecx, [ebp + 0xa]
cmp ecx, ebx
jge 0x45c34b
cmp byte [eax + ebp + 2], 0x63
jne 0x45c34b
cmp byte [eax + ebp + 3], 0x3d
jne 0x45c34b
cmp byte [eax + ebp + 0xa], 0x3e
jne 0x45c34b
mov eax, dword [esp + 0x20]
cmp eax, ebp
jge 0x45c1b4
mov edx, ebp
mov ecx, esi
sub edx, eax
push edx
push eax
lea eax, [esp + 0xb4]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 0xd
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0xac]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0045b760
lea edx, [ebp + 4]
push 6
lea eax, [esp + 0x98]
push edx
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
lea ecx, [esp + 0x24]
push ecx
push 0x48111c
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
lea ecx, [esp + 0x94]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x24]
xor edx, edx
mov dl, byte [esp + 0x26]
mov ecx, eax
and eax, 0xff
and ecx, 0xff00
shl eax, 0x10
or eax, ecx
or eax, edx
add ebp, 0xb
mov dword [esp + 0x24], eax
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x45c7bc
mov eax, dword [esp + 0x20]
cmp eax, ebp
jge 0x45c269
mov esi, dword [esp + 0x14]
mov edx, ebp
sub edx, eax
push edx
push eax
lea eax, [esp + 0x74]
lea ecx, [esi + 4]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 0xc
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x6c]
mov byte [esp + 0xd4], 0xb
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.0045b760
xor edi, edi
mov esi, 0xffffff
push 0x4872c8
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4872c8
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x58]
xor edx, edx
mov dword [esp + 0x38], edx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x3c], edx
push ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], ebp
call fcn.0045b760
lea ecx, [esp + 0x5c]
inc ebx
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
cmp dword [esp + 0x18], 0xc9
jge 0x45c114
push 0x4872c8
lea ecx, [esp + 0x20]
add ebp, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4872c8
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::operator_1
xor edx, edx
mov eax, ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], edx
jmp 0x45c7bc
lea edx, [ebp + 7]
cmp edx, ebx
jge 0x45c646
cmp byte [eax + ebp + 2], 0x65
jne 0x45c4e7
cmp byte [eax + ebp + 3], 0x30
jne 0x45c4e7
mov cl, byte [eax + ebp + 6]
cmp cl, 0x31
je 0x45c388
cmp cl, 0x32
je 0x45c388
cmp cl, 0x30
je 0x45c388
cmp cl, 0x33
jne 0x45c4e7
cmp byte [eax + ebp + 4], 0x30
jne 0x45c4e7
cmp byte [eax + ebp + 5], 0x30
jne 0x45c4e7
mov eax, dword [esp + 0x20]
cmp eax, ebp
jge 0x45c3ef
mov edx, ebp
mov ecx, esi
sub edx, eax
push edx
push eax
lea eax, [esp + 0xc4]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 0xe
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0xbc]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0045b760
mov esi, dword [esi]
cmp byte [esi + ebp + 6], 0x31
jne 0x45c400
mov dword [esp + 0x28], 1
mov ebx, dword [esi - 8]
lea ecx, [ebp + 7]
cmp ecx, ebx
jge 0x45c426
lea eax, [esi + ebp + 7]
mov dl, byte [eax]
cmp dl, 0x3e
je 0x45c426
cmp edi, 1
jle 0x45c41f
cmp dl, 0x3c
je 0x45c426
inc edi
inc eax
inc ecx
cmp ecx, ebx
jl 0x45c40e
add esi, edi
cmp byte [esi + ebp + 7], 0x3e
jne 0x45c46e
lea eax, [ebp + 7]
push edi
push eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0xa4]
push edx
lea ecx, [eax + 4]
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xd8], 0xf
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x9c]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x70]
push 4
push ecx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push str.http
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x70]
test eax, eax
setne bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x45c4d8
lea edx, [esp + 0x2c]
lea eax, [esp + 0x78]
push edx
push 0x4866b8
push eax
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xd8], 0x10
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x78]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea ebp, [edi + ebp + 8]
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x45c7bc
cmp edx, ebx
jge 0x45c646
cmp byte [eax + ebp + 2], 0x65
jne 0x45c646
lea ebx, [ebp + 3]
push 4
lea ecx, [esp + 0x84]
push ebx
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
mov edi, dword [sym.imp.MSVCRT.dll_atol]
push eax
call edi
add esp, 4
cmp eax, 0x400
lea ecx, [esp + 0x80]
setge byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
test al, al
je 0x45c64c
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], 0xff0000
cmp eax, ebp
jge 0x45c598
mov edx, ebp
mov ecx, esi
sub edx, eax
push edx
push eax
lea eax, [esp + 0x90]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 0x11
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x88]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0045b760
push 4
lea edx, [esp + 0x94]
push ebx
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push eax
call edi
add esp, 4
lea ecx, [esp + 0x90]
mov dword [esp + 0x28], eax
call sub.MFC42.DLL_CString::CString
mov esi, dword [esi]
lea eax, [ebp + 7]
xor ebx, ebx
mov ecx, dword [esi - 8]
cmp eax, ecx
jge 0x45c5ef
lea eax, [ebp + 7]
lea edi, [esi + ebp + 7]
mov dl, byte [edi]
cmp dl, 0x3e
je 0x45c5ef
cmp ebx, 1
jle 0x45c5e8
cmp dl, 0x3c
je 0x45c5ef
inc ebx
inc edi
inc eax
cmp eax, ecx
jl 0x45c5d7
add esi, ebx
cmp byte [esi + ebp + 7], 0x3e
jne 0x45c637
mov ecx, dword [esp + 0x14]
lea eax, [ebp + 7]
push ebx
push eax
lea eax, [esp + 0xa0]
add ecx, 4
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xd8], 0x12
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x98]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
lea ebp, [ebx + ebp + 8]
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x45c7bc
mov edi, dword [sym.imp.MSVCRT.dll_atol]
mov eax, dword [esi]
lea ecx, [ebp + 7]
cmp ecx, dword [eax - 8]
jge 0x45c7b7
cmp byte [eax + ebp + 2], 0x65
jne 0x45c7b7
lea ebx, [ebp + 3]
push 4
lea edx, [esp + 0xa4]
push ebx
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push eax
call edi
add esp, 4
cmp eax, 0x3ff
lea ecx, [esp + 0xa0]
sete byte [esp + 0x13]
call sub.MFC42.DLL_CString::CString
mov al, byte [esp + 0x13]
test al, al
je 0x45c7b7
mov eax, dword [esp + 0x20]
cmp eax, ebp
jge 0x45c6f5
mov ecx, ebp
lea edx, [esp + 0xa8]
sub ecx, eax
push ecx
push eax
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 0x13
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
call fcn.0045b760
push 4
lea ecx, [esp + 0xb4]
push ebx
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push eax
call edi
add esp, 4
lea ecx, [esp + 0xb0]
mov dword [esp + 0x28], eax
call sub.MFC42.DLL_CString::CString
mov esi, dword [esi]
lea eax, [ebp + 7]
xor ebx, ebx
mov ecx, dword [esi - 8]
cmp eax, ecx
jge 0x45c758
lea eax, [ebp + 7]
mov dword [esp + 0x58], eax
lea eax, [esi + ebp + 7]
mov dl, byte [eax]
cmp dl, 0x3e
je 0x45c758
cmp ebx, 1
jle 0x45c749
cmp dl, 0x3c
je 0x45c758
mov edx, dword [esp + 0x58]
inc ebx
inc eax
inc edx
cmp edx, ecx
mov dword [esp + 0x58], edx
jl 0x45c738
add esi, ebx
cmp byte [esi + ebp + 7], 0x3e
jne 0x45c79a
lea eax, [ebp + 7]
push ebx
push eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x68]
push edx
lea ecx, [eax + 4]
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xd8], 0x14
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x60]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x2c]
push ecx
call edi
add esp, 4
add eax, 0x32
lea ebp, [ebx + ebp + 8]
mov dword [esp + 0x4c], eax
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x45c7bc
mov eax, dword [esp + 0x20]
inc ebp
xor edi, edi
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 4]
lea esi, [edx + 4]
cmp ebp, dword [ecx - 8]
jl 0x45bbcc
jmp 0x45c7d7
mov eax, dword [esp + 0x20]
mov ecx, dword [esi]
cmp ebp, dword [ecx - 8]
jl 0x45c823
cmp ebp, eax
jle 0x45c823
sub ebp, eax
lea edx, [esp + 0x60]
push ebp
push eax
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xd8], 0x15
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x60]
mov byte [esp + 0xd4], 2
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
call fcn.0045b760
mov ebp, dword [esp + 0x14]
mov ecx, dword [ebp + 8]
cmp ecx, edi
jne 0x45c83b
mov dword [esp + 0xd4], 0x16
jmp 0x45c86a
mov eax, dword [ecx + 0x34]
cmp eax, edi
je 0x45c84b
mov ecx, eax
mov eax, dword [ecx + 0x34]
cmp eax, edi
jne 0x45c842
mov ecx, dword [ecx + 0x14]
inc ecx
mov dword [ebp + 0xc], ecx
mov dword [esp + 0xd4], 0x17
jmp 0x45c86a
mov dword [esp + 0xd4], 3
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov dword [esp + 0xd4], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xc8
ret 8