Function at 0x403da0
Capabilities:
Contain obfuscated stackstrings
Get process heap flags
Get process heap force flags
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4094e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x258
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor edi, edi
push 0x40d288
lea ecx, [esp + 0x14]
mov word [esp + 0x14], di
call sub.MFC42.DLL_COleVariant::operator
lea ebp, [esi + 0x78]
lea eax, [esp + 0x10]
push 1
mov dword [esp + 0x274], edi
push eax
mov ecx, ebp
lea edi, [esi + 0x70]
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [esp + 0x10]
push ecx
mov dword [esp + 0x274], 0xffffffff
call ebx
push str.PLU_No.
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
mov ecx, edi
push edx
mov dword [esp + 0x274], 1
call fcn.004058e0
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push 0x40d27c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
push 1
push ecx
mov ecx, ebp
mov dword [esp + 0x278], 2
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push str.PLU_Name_1
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
mov ecx, edi
push eax
mov dword [esp + 0x274], 3
call fcn.004058e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push 0x40d26c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
mov dword [esp + 0x270], 4
push 1
lea edx, [esp + 0x14]
push edx
mov ecx, ebp
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push str.PLU_Name_2
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 5
push ecx
mov ecx, edi
call fcn.004058e0
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push 0x40d25c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
push 1
push eax
mov ecx, ebp
mov dword [esp + 0x278], 6
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push str.Item_No.
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
mov ecx, edi
push edx
mov dword [esp + 0x274], 7
call fcn.004058e0
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push 0x40d24c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
push 1
push ecx
mov ecx, ebp
mov dword [esp + 0x278], 8
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push str.Group_No.
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
mov dword [esp + 0x270], 9
lea eax, [esp + 0x10]
push eax
mov ecx, edi
call fcn.004058e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push 0x40d23c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
push 1
push edx
mov ecx, ebp
mov dword [esp + 0x278], 0xa
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push str.Unit_Price
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xb
push ecx
mov ecx, edi
call fcn.004058e0
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push 0x40d22c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
push 1
push eax
mov ecx, ebp
mov dword [esp + 0x278], 0xc
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push str.VAT_No.
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
mov ecx, edi
push edx
mov dword [esp + 0x274], 0xd
call fcn.004058e0
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push 0x40d220
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
push 1
push ecx
mov dword [esp + 0x278], 0xe
mov ecx, ebp
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push str.Fixweight
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
mov ecx, edi
push eax
mov dword [esp + 0x274], 0xf
call fcn.004058e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push 0x40d210
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
push 1
push edx
mov ecx, ebp
mov dword [esp + 0x278], 0x10
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push str.Tare_No.
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0x11
push ecx
mov ecx, edi
call fcn.004058e0
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push 0x40d200
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
push 1
push eax
mov ecx, ebp
mov dword [esp + 0x278], 0x12
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push str.Best_before_days
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0x13
push edx
mov ecx, edi
call fcn.004058e0
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push 0x40d1e8
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
push 1
push ecx
mov ecx, ebp
mov dword [esp + 0x278], 0x14
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push str.Sell_by_days
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
mov ecx, edi
push eax
mov dword [esp + 0x274], 0x15
call fcn.004058e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push 0x40d1d4
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
push 1
push edx
mov ecx, ebp
mov dword [esp + 0x278], 0x16
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push str.By_weight_By_count
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0x17
push ecx
mov ecx, edi
call fcn.004058e0
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push 0x40d1bc
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
push 1
push eax
mov ecx, ebp
mov dword [esp + 0x278], 0x18
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push str.Discount
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
mov ecx, edi
push edx
mov dword [esp + 0x274], 0x19
call fcn.004058e0
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push 0x40d1ac
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
push 1
push ecx
mov ecx, ebp
mov dword [esp + 0x278], 0x1a
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea edx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push edx
call ebx
push str.Open_Price
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
mov ecx, edi
push eax
mov dword [esp + 0x274], 0x1b
call fcn.004058e0
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push ecx
call ebx
push 0x40d19c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
push 1
push edx
mov ecx, ebp
mov dword [esp + 0x278], 0x1c
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea eax, [esp + 0x10]
mov dword [esp + 0x270], 0xffffffff
push eax
call ebx
push str.Extra_Text_No.
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea ecx, [esp + 0x10]
mov dword [esp + 0x270], 0x1d
push ecx
mov ecx, edi
call fcn.004058e0
mov dword [esp + 0x270], 0xffffffff
lea edx, [esp + 0x10]
push edx
call ebx
push 0x40d188
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea eax, [esp + 0x10]
push 1
push eax
mov ecx, ebp
mov dword [esp + 0x278], 0x1e
call fcn.00405820
push eax
mov ecx, edi
call sub.MFC42.DLL_COleDispatchDriver::AttachDispatch
lea ecx, [esp + 0x10]
or ebp, 0xffffffff
push ecx
mov dword [esp + 0x274], ebp
call ebx
push 0x40d17c
lea ecx, [esp + 0x14]
mov word [esp + 0x14], 0
call sub.MFC42.DLL_COleVariant::operator
lea edx, [esp + 0x10]
mov ecx, edi
push edx
mov dword [esp + 0x274], 0x1f
call fcn.004058e0
lea eax, [esp + 0x10]
mov dword [esp + 0x270], ebp
push eax
call ebx
push 1
lea ecx, [esp + 0x3c]
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::constructor_void_]
lea ecx, [esp + 0x2c]
mov dword [esp + 0x270], 0x20
mov edi, 1
call sub.MFC42.DLL_CString::CString_1
push 0x66
lea ecx, [esp + 0x30]
mov byte [esp + 0x274], 0x21
call sub.MFC42.DLL_CString::LoadStringA
mov ecx, dword [sym.imp.MSVCIRT.dll_int_const_filebuf::openprot]
mov eax, dword [esi + 0x60]
mov edx, dword [ecx]
lea ecx, [esp + 0x38]
push edx
push edi
push eax
call dword [sym.imp.MSVCIRT.dll_public:_void___thiscall_fstream::open_char_const___int__int_]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea eax, [esp + ecx + 0x38]
mov ecx, dword [esp + ecx + 0x6c]
test ecx, ecx
jge 0x404694
add eax, 0x38
push eax
call dword [sym.imp.MSVCIRT.dll__mtlock]
add esp, 4
mov ecx, dword [esp + 0x3c]
push 0xa
inc ecx
lea edx, [esp + 0x1a4]
mov dword [esp + 0x40], ecx
push 0xc8
push edx
lea ecx, [esp + 0x44]
call dword [sym.imp.MSVCIRT.dll_protected:_class_istream____thiscall_istream::get_char___int__int_]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea eax, [esp + ecx + 0x38]
mov ecx, dword [esp + ecx + 0x6c]
test ecx, ecx
jge 0x4046d6
add eax, 0x38
push eax
call dword [sym.imp.MSVCIRT.dll__mtunlock]
add esp, 4
mov eax, dword [esp + 0x2c]
lea ebp, [esp + 0x1a0]
mov dl, byte [eax]
mov bl, byte [ebp]
mov cl, dl
cmp dl, bl
jne 0x40470a
test cl, cl
je 0x404706
mov dl, byte [eax + 1]
mov bl, byte [ebp + 1]
mov cl, dl
cmp dl, bl
jne 0x40470a
add eax, 2
add ebp, 2
test cl, cl
jne 0x4046e1
xor eax, eax
jmp 0x40470f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x404721
push 0
push 0
lea ecx, [esp + 0x4c]
call dword [sym.imp.MSVCIRT.dll_public:_class_ostream____thiscall_ostream::seekp_long_int__enum_ios::seek_dir_]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x40], 1
jne 0x404c82
mov bl, 0x22
push 0x100
lea edx, [esp + 0xa0]
push 0x30
push edx
call dword [sym.imp.MSVCRT.dll__strnset]
mov eax, dword [esp + 0x44]
add esp, 0xc
mov ecx, dword [eax + 4]
lea eax, [esp + ecx + 0x38]
mov ecx, dword [esp + ecx + 0x6c]
test ecx, ecx
jge 0x40476d
add eax, 0x38
push eax
call dword [sym.imp.MSVCIRT.dll__mtlock]
add esp, 4
mov edx, dword [esp + 0x3c]
push 0xa
inc edx
push 0x100
mov dword [esp + 0x44], edx
lea edx, [esp + 0xa4]
push edx
lea ecx, [esp + 0x44]
call dword [sym.imp.MSVCIRT.dll_protected:_class_istream____thiscall_istream::get_char___int__int_]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
lea eax, [esp + ecx + 0x38]
mov ecx, dword [esp + ecx + 0x6c]
test ecx, ecx
jge 0x4047af
add eax, 0x38
push eax
call dword [sym.imp.MSVCIRT.dll__mtunlock]
add esp, 4
cmp dword [esp + 0x40], 1
jle 0x404c82
lea edx, [esp + 0x9c]
lea ecx, [esp + 0x28]
push edx
call sub.MFC42.DLL_CString::CString_2
push 0x40d0d4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x274], bl
call sub.MFC42.DLL_CString::Find_1
mov ebp, eax
mov dword [esp + 0x24], 1
cmp ebp, 0xffffffff
je 0x404c5f
lea eax, [esi + 0x97c]
mov dword [esp + 0x20], eax
test ebp, ebp
jne 0x404811
mov ecx, dword [esp + 0x20]
push 0x40db50
call fcn.00408468
jmp 0x404844
push ebp
lea eax, [esp + 0x34]
push 0
push eax
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::Mid_1
mov ecx, dword [esp + 0x20]
push eax
mov byte [esp + 0x274], 0x23
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x30]
mov byte [esp + 0x270], bl
call fcn.0040845c
inc ebp
lea ecx, [esp + 0x34]
push ebp
push ecx
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::Mid
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x274], 0x24
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x34]
mov byte [esp + 0x270], bl
call fcn.0040845c
push 0x40d0d4
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::Find_1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ebp, eax
inc edx
add ecx, 4
cmp ebp, 0xffffffff
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
jne 0x4047fd
mov eax, edx
cmp eax, 0xf
jl 0x404c5f
push ecx
lea eax, [esi + 0x97c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
inc edi
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d090
mov byte [esp + 0x280], 0x25
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x980]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d178
mov byte [esp + 0x280], 0x26
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea eax, [esi + 0x984]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d174
mov byte [esp + 0x280], 0x27
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x988]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d170
mov byte [esp + 0x280], 0x28
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea eax, [esi + 0x98c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov byte [esp + 0x27c], 0x29
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d16c
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x990]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d168
mov byte [esp + 0x280], 0x2a
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea eax, [esi + 0x994]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d164
mov byte [esp + 0x280], 0x2b
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x998]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d160
mov byte [esp + 0x280], 0x2c
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea eax, [esi + 0x99c]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d15c
mov byte [esp + 0x280], 0x2d
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x9a0]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x274], 0x2e
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d158
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea eax, [esi + 0x9a4]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d154
mov byte [esp + 0x280], 0x2f
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x9a8]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d150
mov byte [esp + 0x280], 0x30
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea eax, [esi + 0x9ac]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d14c
mov byte [esp + 0x280], 0x31
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x9b0]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d148
mov byte [esp + 0x280], 0x32
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea eax, [esi + 0x9b4]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x40d144
mov byte [esp + 0x280], 0x33
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
push ecx
lea edx, [esi + 0x9b8]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call sub.MFC42.DLL_CString::CString
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.PONMLKJIHGFEDCB
mov byte [esp + 0x280], 0x34
call sub.MFC42.DLL_CString::CString_2
mov ecx, esi
mov byte [esp + 0x27c], bl
call fcn.00404ce0
lea ecx, [esp + 0x28]
mov byte [esp + 0x270], 0x21
call fcn.0040845c
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 4]
test byte [esp + ecx + 0x40], 1
je 0x404735
mov esi, dword [esi + 0x8c]
test esi, esi
je 0x404c92
mov edx, dword [esi]
push esi
call dword [edx + 8]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x270], 0x20
call fcn.0040845c
lea ecx, [esp + 0x4c]
mov dword [esp + 0x270], 0xffffffff
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_fstream::destructor_void_]
lea ecx, [esp + 0x4c]
call dword [sym.imp.MSVCIRT.dll_public_virtual:_void___thiscall_ios::destructor_void_]
mov ecx, dword [esp + 0x268]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x264
ret