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

Disassembly:
push 0xffffffffffffffff
push 0x4b955d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x1c]
mov dword [esp + 0x10], ebp
call sub.MFC42.DLL_CString::CString_3
xor edi, edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0xc8], edi
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x1c]
mov byte [esp + 0xc8], 1
call fcn.004951b0
mov ebx, dword [esp + 0xd4]
mov dword [esp + 0xc8], 2
cmp ebx, edi
jl 0x495160
cmp ebx, 0x12c
jg 0x495160
mov eax, dword [ebp + 4]
lea esi, [ebp + 4]
cmp dword [eax - 8], edi
jne 0x4945b2
mov dword [esp + 0xc8], 4
jmp 0x49516b
cmp dword [ebp + 8], edi
je 0x4945be
mov ecx, ebp
call fcn.00495420
mov eax, dword [esp + 0xd0]
mov dword [ebp + 0x18], ebx
cmp eax, edi
jne 0x4945f3
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_2
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
call fcn.00494240
jmp 0x495128
mov ecx, dword [esi]
xor ebp, ebp
cmp dword [ecx - 8], edi
jle 0x4950d4
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov eax, dword [esp + 0x20]
jmp 0x494612
mov ebx, dword [sym.imp.MSVCRT.dll__mbsicmp]
mov cl, byte [ecx + ebp]
cmp cl, 0xa
jne 0x49467b
cmp eax, ebp
jge 0x494667
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 + 0xcc], 5
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x88]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.00494240
inc ebp
mov dword [esp + 0x48], 1
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x4950bf
cmp cl, 0x68
je 0x494689
cmp cl, 0x77
jne 0x49495e
push 4
lea edx, [esp + 0xb8]
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 + 0xd0], 6
call ebx
add esp, 8
test eax, eax
je 0x4946e8
push 3
lea eax, [esp + 0xb0]
push ebp
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push 0x4d4738
push eax
call ebx
add esp, 8
lea ecx, [esp + 0xac]
test eax, eax
sete bl
call fcn.004ac05e
test bl, bl
je 0x4946f7
cmp dword [esp + 0x28], edi
sete al
test al, al
je 0x4946f7
mov bl, 1
jmp 0x4946f9
xor bl, bl
lea ecx, [esp + 0xb4]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
mov eax, dword [esp + 0x20]
test bl, bl
je 0x49495e
cmp eax, ebp
jge 0x494766
mov ecx, ebp
lea edx, [esp + 0xbc]
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 + 0xcc], 7
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0xbc]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.00494240
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 0x4947cb
mov ebx, ebp
lea edx, [esi + ebp]
mov al, byte [edx]
cmp al, 0x61
jl 0x494788
cmp al, 0x7a
jle 0x4947bc
cmp al, 0x41
jl 0x494790
cmp al, 0x5a
jle 0x4947bc
cmp al, 0x30
jl 0x494798
cmp al, 0x39
jle 0x4947bc
cmp al, 0x2f
je 0x4947bc
cmp al, 0x2e
je 0x4947bc
cmp al, 0x3a
je 0x4947bc
cmp al, 0x26
je 0x4947bc
cmp al, 0x3f
je 0x4947bc
cmp al, 0x3d
je 0x4947bc
cmp al, 0x2d
je 0x4947bc
cmp al, 0x5f
je 0x4947bc
cmp al, 0x25
jne 0x4947c7
mov eax, dword [esp + 0x58]
inc ecx
inc edx
inc ebx
cmp ebx, eax
jl 0x49477e
mov dword [esp + 0x18], ecx
mov esi, 0xcfe7f1
push 0x4daff4
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 0x4daff4
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 + 0x9c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x14]
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 + 0xcc], 8
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x98]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x2c]
push edx
call sub.MFC42.DLL_CString::operator_2
push 3
lea eax, [esp + 0x7c]
push ebp
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push 0x4d4738
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
lea ecx, [esp + 0x78]
test eax, eax
sete bl
call fcn.004ac05e
test bl, bl
je 0x4948ed
lea ecx, [esp + 0x2c]
lea edx, [esp + 0xb8]
push ecx
push str.http:__
push edx
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xcc], 9
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0xb8]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.00494240
push 0x4daff4
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xcfe7f1
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4daff4
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 0x4950bf
mov ecx, dword [esi]
cmp byte [ecx + ebp], 0x3c
jne 0x494a65
mov ecx, dword [ecx - 8]
lea edx, [ebp + 3]
cmp edx, ecx
jge 0x494a65
push 4
lea eax, [esp + 0x84]
push ebp
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push str.__e_
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
lea ecx, [esp + 0x80]
test eax, eax
sete bl
call fcn.004ac05e
mov eax, dword [esp + 0x20]
test bl, bl
je 0x494a65
cmp eax, ebp
jge 0x494a05
mov ecx, ebp
lea edx, [esp + 0xa0]
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 + 0xcc], 0xa
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0xa0]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.00494240
push 0x4daff4
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xcfe7f1
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4daff4
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 0x4950bf
mov edx, dword [esi]
cmp byte [edx + ebp], 0x2f
jne 0x4950bc
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 + 0x4bf851]
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_3
lea eax, [esp + 0x64]
lea ecx, [esp + 0x5c]
push eax
push 0x4ce990
push ecx
mov byte [esp + 0xd4], 0xb
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, eax
lea edx, [esp + 0x6c]
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 + 0x6c]
test eax, eax
sete byte [esp + 0x17]
call fcn.004ac05e
mov al, byte [esp + 0x17]
test al, al
jne 0x494c5b
mov ecx, dword [esp + 0x18]
mov byte [esp + 0xc8], 2
lea ebx, [ecx + ebx + 1]
lea ecx, [esp + 0x5c]
mov dword [esp + 0x18], ebx
call fcn.004ac05e
mov ecx, dword [esp + 0x58]
inc ecx
cmp ebx, 0xc9
mov dword [esp + 0x58], ecx
jl 0x494a7b
mov esi, dword [esp + 0x10]
xor edi, edi
mov eax, dword [esi + 4]
add esi, 4
lea ecx, [ebp + 1]
mov edx, dword [eax - 8]
cmp ecx, edx
jge 0x4950b8
cmp byte [eax + ebp + 1], 0x3c
jne 0x4950b8
lea ecx, [ebp + 0xa]
cmp ecx, edx
jge 0x494d98
cmp byte [eax + ebp + 2], 0x63
jne 0x494d98
cmp byte [eax + ebp + 3], 0x3d
jne 0x494d98
cmp byte [eax + ebp + 0xa], 0x3e
jne 0x494d98
mov eax, dword [esp + 0x20]
cmp eax, ebp
jge 0x494bf4
mov edx, ebp
mov ecx, esi
sub edx, eax
push edx
push eax
lea eax, [esp + 0x98]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xd
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x90]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.00494240
lea edx, [ebp + 4]
push 6
lea eax, [esp + 0xac]
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 0x4d9ba0
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
lea ecx, [esp + 0xa8]
call fcn.004ac05e
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 0x4950bd
mov eax, dword [esp + 0x20]
cmp eax, ebp
jge 0x494cb1
mov esi, dword [esp + 0x10]
mov edx, ebp
sub edx, eax
push edx
push eax
lea eax, [esp + 0xb8]
lea ecx, [esi + 4]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xc
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0xb0]
mov byte [esp + 0xc8], 0xb
call fcn.004ac05e
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.00494240
jmp 0x494cb5
mov esi, dword [esp + 0x10]
xor edi, edi
push 0x4daff4
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xcfe7f1
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4daff4
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 dword [esp + 0x44], edx
mov ecx, esi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], ebp
call fcn.00494240
lea ecx, [esp + 0x5c]
inc ebx
mov byte [esp + 0xc8], 2
call fcn.004ac05e
cmp dword [esp + 0x18], 0xc9
jge 0x494b58
push 0x4daff4
lea ecx, [esp + 0x20]
add ebp, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], 0xcfe7f1
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
call sub.MFC42.DLL_CString::operator_1
push 0x4daff4
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 0x4950bd
lea ecx, [ebp + 7]
cmp ecx, edx
jge 0x4950b8
cmp byte [eax + ebp + 2], 0x65
jne 0x494f62
cmp byte [eax + ebp + 3], 0x30
jne 0x494f62
cmp byte [eax + ebp + 6], 0x31
jne 0x494f62
cmp byte [eax + ebp + 4], 0x30
jne 0x494f62
cmp byte [eax + ebp + 5], 0x30
jne 0x494f62
mov eax, dword [esp + 0x20]
cmp eax, ebp
jge 0x494e25
mov edx, ebp
mov ecx, esi
sub edx, eax
push edx
push eax
lea eax, [esp + 0x78]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0xe
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x70]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.00494240
mov esi, dword [esi]
mov dword [esp + 0x28], 1
lea ecx, [ebp + 7]
mov ebx, dword [esi - 8]
cmp ecx, ebx
jge 0x494e55
lea eax, [esi + ebp + 7]
mov dl, byte [eax]
cmp dl, 0x3e
je 0x494e55
cmp edi, 1
jle 0x494e4e
cmp dl, 0x3c
je 0x494e55
inc edi
inc eax
inc ecx
cmp ecx, ebx
jl 0x494e3d
add esi, edi
cmp byte [esi + ebp + 7], 0x3e
jne 0x494e97
lea eax, [ebp + 7]
push edi
push eax
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x7c]
push edx
lea ecx, [eax + 4]
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xcc], 0xf
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x74]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea ecx, [esp + 0x84]
push 5
push ecx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
mov esi, dword [sym.imp.MSVCRT.dll__mbsicmp]
push str.http:
push eax
mov byte [esp + 0xd0], 0x10
call esi
add esp, 8
test eax, eax
je 0x494efc
lea edx, [esp + 0x7c]
push 6
push edx
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::Left
mov eax, dword [eax]
push str.qqgame
push eax
call esi
add esp, 8
lea ecx, [esp + 0x7c]
test eax, eax
setne bl
call fcn.004ac05e
test bl, bl
je 0x494efc
mov bl, 1
jmp 0x494efe
xor bl, bl
lea ecx, [esp + 0x84]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
test bl, bl
je 0x494f53
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x8c]
push eax
push str.http:__
push ecx
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0xcc], 0x11
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea ebp, [edi + ebp + 8]
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x4950bd
cmp ecx, edx
jge 0x4950b8
cmp byte [eax + ebp + 2], 0x65
jne 0x4950b8
lea ebx, [ebp + 3]
push 4
lea edx, [esp + 0x98]
push ebx
push edx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
cmp eax, 0x400
lea ecx, [esp + 0x94]
setge byte [esp + 0x17]
call fcn.004ac05e
mov al, byte [esp + 0x17]
test al, al
je 0x4950b8
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], 0xff0000
cmp eax, ebp
jge 0x495011
mov ecx, ebp
lea edx, [esp + 0x9c]
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 + 0xcc], 0x12
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x9c]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1c]
push eax
call fcn.00494240
push 4
lea ecx, [esp + 0xa8]
push ebx
push ecx
mov ecx, esi
call sub.MFC42.DLL_CString::Mid_1
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll_atol]
add esp, 4
lea ecx, [esp + 0xa4]
mov dword [esp + 0x28], eax
call fcn.004ac05e
mov esi, dword [esi]
lea ecx, [ebp + 7]
mov eax, dword [esi - 8]
cmp ecx, eax
jge 0x49506a
lea edx, [ebp + 7]
lea ecx, [esi + ebp + 7]
mov bl, byte [ecx]
cmp bl, 0x3e
je 0x49506a
cmp edi, 1
jle 0x495063
cmp bl, 0x3c
je 0x49506a
inc edi
inc ecx
inc edx
cmp edx, eax
jl 0x495052
add esi, edi
cmp byte [esi + ebp + 7], 0x3e
jne 0x4950ac
lea eax, [ebp + 7]
push edi
push eax
mov eax, dword [esp + 0x18]
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 + 0xcc], 0x13
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x60]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea ebp, [edi + ebp + 8]
mov eax, ebp
mov dword [esp + 0x20], eax
jmp 0x4950bd
mov eax, dword [esp + 0x20]
inc ebp
xor edi, edi
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 4]
mov ecx, dword [ecx + 4]
cmp ebp, dword [ecx - 8]
jl 0x49460c
jmp 0x4950d8
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
cmp ebp, dword [edx - 8]
jl 0x495124
cmp ebp, eax
jle 0x495124
sub ebp, eax
mov ecx, esi
push ebp
push eax
lea eax, [esp + 0x68]
push eax
call sub.MFC42.DLL_CString::Mid_1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0xcc], 0x14
call sub.MFC42.DLL_CString::operator_2
lea ecx, [esp + 0x60]
mov byte [esp + 0xc8], 2
call fcn.004ac05e
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.00494240
mov ebp, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
cmp ecx, edi
jne 0x49513c
mov dword [esp + 0xc8], 0x15
jmp 0x49516b
mov eax, dword [ecx + 0x34]
cmp eax, edi
je 0x49514c
mov ecx, eax
mov eax, dword [ecx + 0x34]
cmp eax, edi
jne 0x495143
mov edx, dword [ecx + 0x14]
inc edx
mov dword [ebp + 0xc], edx
mov dword [esp + 0xc8], 0x16
jmp 0x49516b
mov dword [esp + 0xc8], 3
lea ecx, [esp + 0x2c]
call fcn.004ac05e
lea ecx, [esp + 0x1c]
mov dword [esp + 0xc8], 0xffffffff
call fcn.004ac05e
mov ecx, dword [esp + 0xc0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xbc
ret 8