Function at 0x10016b20
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags
Get process heap force flags

Disassembly:
push 0xffffffffffffffff
push 0x10031b1c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
lea ebp, [esi + 4]
mov ecx, ebp
call sub.MFC42.DLL_CString::CString_1
xor ebx, ebx
lea ecx, [esi + 8]
mov dword [esp + 0x1c], ebx
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xc]
mov byte [esp + 0x1c], 1
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x10]
mov byte [esp + 0x1c], 2
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x14]
mov byte [esp + 0x1c], 3
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x18]
mov byte [esp + 0x1c], 4
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x1c]
mov byte [esp + 0x1c], 5
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x20]
mov byte [esp + 0x1c], 6
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x24]
mov byte [esp + 0x1c], 7
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x28]
mov byte [esp + 0x1c], 8
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x2c]
mov byte [esp + 0x1c], 9
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x30]
mov byte [esp + 0x1c], 0xa
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x34]
mov byte [esp + 0x1c], 0xb
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x38]
mov byte [esp + 0x1c], 0xc
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x3c]
mov byte [esp + 0x1c], 0xd
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x40]
mov byte [esp + 0x1c], 0xe
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x44]
mov byte [esp + 0x1c], 0xf
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x48]
mov byte [esp + 0x1c], 0x10
call sub.MFC42.DLL_CString::CString_1
mov byte [esp + 0x1c], 0x11
lea ecx, [esi + 0xd0]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xd4]
mov byte [esp + 0x1c], 0x12
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xd8]
mov byte [esp + 0x1c], 0x13
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xdc]
mov byte [esp + 0x1c], 0x14
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xe0]
mov byte [esp + 0x1c], 0x15
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xe4]
mov byte [esp + 0x1c], 0x16
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xe8]
mov byte [esp + 0x1c], 0x17
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0xec]
mov byte [esp + 0x1c], 0x18
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x110]
mov byte [esp + 0x1c], 0x19
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x114]
mov byte [esp + 0x1c], 0x1a
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esi + 0x118]
mov byte [esp + 0x1c], 0x1b
call sub.MFC42.DLL_CString::CString_1
lea edi, [esi + 0x5c]
mov ecx, 0xc
xor eax, eax
mov byte [esi], bl
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x90], ebx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x98], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xa0], ebx
mov dword [esi + 0xa4], ebx
mov dword [esi + 0xa8], ebx
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], ebx
mov dword [esi + 0xf8], ebx
mov dword [esi + 0xac], ebx
mov dword [esi + 0xb0], ebx
mov byte [esi + 0xb4], bl
mov byte [esi + 0xb5], bl
mov byte [esi + 0xb6], bl
mov byte [esi + 0xb7], bl
push 0x1005197c
rep stosd dword es:[edi], eax
mov ecx, ebp
mov byte [esp + 0x20], 0x1c
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 8]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0xc]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x14]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x18]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x1c]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x20]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x24]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x28]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x2c]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x30]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x34]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x38]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x3c]
call sub.MFC42.DLL_CString::operator_1
push str.RETAILER:_Authenticate_at_www.veri_fi.com._Do_not_accept_without_a_dot_scan_barcode_below_the_expiration_date.
lea ecx, [esi + 0x40]
call sub.MFC42.DLL_CString::operator_1
push str.MANUFACTURERS_COUPON
lea ecx, [esi + 0x44]
call sub.MFC42.DLL_CString::operator_1
push str.Expires
lea ecx, [esi + 0x48]
call sub.MFC42.DLL_CString::operator_1
push 0x1005197c
lea ecx, [esi + 0x118]
mov dword [esi + 0x11c], ebx
mov dword [esi + 0xc8], 0x1005197c
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [esp + 0x2c]
mov ecx, ebp
push eax
call sub.MFC42.DLL_CString::operator_1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push 0x8370
mov dword [esi + 0x170], ecx
mov dword [esi + 0x174], edx
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
cmp edi, ebx
mov byte [esp + 0x1c], 0x1d
je 0x10016e92
mov ecx, edi
call fcn.1000d180
jmp 0x10016e94
xor edi, edi
push 0x8370
mov byte [esp + 0x20], 0x1c
mov dword [esi + 0x4c], edi
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
cmp edi, ebx
mov byte [esp + 0x1c], 0x1e
je 0x10016ec1
mov ecx, edi
call fcn.1000d180
jmp 0x10016ec3
xor edi, edi
push 0x8370
mov byte [esp + 0x20], 0x1c
mov dword [esi + 0x50], edi
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
cmp edi, ebx
mov byte [esp + 0x1c], 0x1f
je 0x10016ef0
mov ecx, edi
call fcn.1000d180
jmp 0x10016ef2
xor edi, edi
push 0x8370
mov byte [esp + 0x20], 0x1c
mov dword [esi + 0x54], edi
call sub.MFC42.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
cmp edi, ebx
mov byte [esp + 0x1c], 0x20
je 0x10016f1f
mov ecx, edi
call fcn.1000d180
jmp 0x10016f21
xor edi, edi
mov dword [esi + 0x58], edi
xor ebp, ebp
mov ecx, ebp
and ecx, 0x80000007
jns 0x10016f35
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebp
mov edi, 0xa
cdq
idiv edi
mov eax, dword [esp + 0x2c]
mov cl, byte [ecx + eax]
xor cl, byte [edx + str.gORgONzOLa]
mov byte [esi + ebp + 0x120], cl
mov byte [esi + ebp + 0x148], bl
inc ebp
cmp ebp, 0x28
jl 0x10016f26
mov ecx, dword [esp + 0x14]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0xc