Function at 0x419540
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45adb4
mov eax, dword fs:[0]
push eax
sub esp, 0x7e4
push ebx
push esi
push edi
mov eax, dword [0x4720c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov ebx, ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], 0
call fcn.004024a0
push 0
push ecx
mov eax, esp
mov dword [ebp - 0x60], esp
push eax
mov edi, 0x4618e8
call fcn.00404130
push ecx
mov byte [ebp - 4], 1
mov ecx, esp
mov dword [ebp - 0x38], esp
push ecx
call fcn.00404130
push ecx
mov byte [ebp - 4], 2
mov edi, dword [ebx + 0x4c]
mov edx, esp
mov dword [ebp - 0x3c], esp
push edx
call fcn.00404130
mov byte [ebp - 4], 3
cmp dword [0x47628c], 0
jne 0x4195cc
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0
mov ecx, dword [0x47628c]
call fcn.00404220
mov dword [ebp - 4], 0xffffffff
jmp 0x41961f
call fcn.00402520
mov eax, dword [0x476290]
test eax, eax
jne 0x419637
push 0x80004003
call fcn.00445020
mov edx, dword [0x47628c]
mov ecx, dword [eax]
push edx
mov esi, eax
push eax
mov eax, dword [ecx + 0x24]
call eax
test eax, eax
jns 0x419658
push 0x461924
push esi
push eax
call fcn.00445040
mov edx, dword [section..data]
mov eax, dword [edx + 0xc]
mov ecx, section..data
call eax
add eax, 0x10
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebx + 0x54]
mov edx, dword [ebx + 0x5c]
mov eax, dword [ebx + 0x58]
push ecx
mov ecx, dword [ebx + 0x50]
push edx
push eax
push ecx
push str.exec_pr_yx_salebill3__s__i__i__s
lea edi, [ebp - 0x48]
call fcn.004030f0
mov edi, dword [ebp - 0x48]
add esp, 0x10
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
call fcn.00404130
mov byte [ebp - 4], 7
cmp dword [0x476290], 0
jne 0x4196ba
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 6
mov ecx, dword [0x476290]
call fcn.00403fb0
mov esi, dword [0x476290]
test esi, esi
jne 0x4196dd
push 0x80004003
call fcn.00445020
lea edi, [ebp - 0x20]
call fcn.00403f50
mov byte [ebp - 4], 8
mov eax, dword [section..data]
mov edx, dword [eax + 0xc]
mov ecx, section..data
call edx
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov byte [ebp - 4], 9
mov eax, dword [section..data]
mov edx, dword [eax + 0xc]
mov ecx, section..data
call edx
add eax, 0x10
mov dword [ebp - 0x4c], eax
mov byte [ebp - 4], 0xa
mov eax, dword [section..data]
mov edx, dword [eax + 0xc]
mov ecx, section..data
call edx
add eax, 0x10
mov dword [ebp - 0x44], eax
mov eax, 8
mov byte [ebp - 4], 0xb
push str.cLastDateFH
mov word [ebp - 0x5c], ax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x419759
push 0x8007000e
call fcn.00445020
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x20], 0
jne 0x41976d
push 0x80004003
call fcn.00445020
mov esi, dword [ebp - 0x20]
lea edi, [ebp - 0x30]
call fcn.00403e40
mov byte [ebp - 4], 0xd
mov esi, dword [eax]
test esi, esi
jne 0x41978c
push 0x80004003
call fcn.00445020
lea ecx, [ebp - 0x5c]
lea edi, [ebp - 0x1c]
call fcn.00403e90
mov byte [ebp - 4], 0xe
mov esi, dword [eax]
test esi, esi
jne 0x4197ab
push 0x80004003
call fcn.00445020
lea edi, [ebp - 0x2ac]
call fcn.00403f00
push eax
lea edi, [ebp - 0x4c]
mov byte [ebp - 4], 0xf
call fcn.00403050
lea ecx, [ebp - 0x2ac]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4197e3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4197f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0xb
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, 8
push str.cLastDateLK
mov word [ebp - 0x5c], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x419829
push 0x8007000e
call fcn.00445020
mov byte [ebp - 4], 0x10
mov esi, dword [ebp - 0x20]
lea edi, [ebp - 0x30]
call fcn.00403e40
mov byte [ebp - 4], 0x11
mov esi, dword [eax]
test esi, esi
jne 0x41984c
push 0x80004003
call fcn.00445020
lea ecx, [ebp - 0x5c]
lea edi, [ebp - 0x1c]
call fcn.00403e90
mov byte [ebp - 4], 0x12
mov esi, dword [eax]
test esi, esi
jne 0x41986b
push 0x80004003
call fcn.00445020
lea edi, [ebp - 0x2ac]
call fcn.00403f00
push eax
lea edi, [ebp - 0x44]
mov byte [ebp - 4], 0x13
call fcn.00403050
lea edx, [ebp - 0x2ac]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4198a3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4198b6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 0xb
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x5c]
push ecx
mov ecx, dword [ebx + 0x58]
push edx
push eax
push ecx
push 0x462344
lea edi, [ebp - 0x2c]
call fcn.004030f0
add esp, 0x10
mov edx, esp
mov dword [ebp - 0x38], esp
push edx
mov edi, 0x4618e8
call fcn.00404130
mov ecx, dword [ebx + 0x60]
call fcn.00439ad0
mov edi, dword [ebp - 0x2c]
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x14
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
mov edi, str.StaticBox1
lea esi, [ebp - 0x1c]
call fcn.00404130
mov ecx, dword [ebx + 0x60]
lea ebx, [ebp - 0x30]
call fcn.00439b80
mov byte [ebp - 4], 0x15
mov eax, dword [eax]
test eax, eax
jne 0x419942
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x16
mov ecx, dword [eax]
test ecx, ecx
jne 0x41995f
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x18
call fcn.004399d0
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x41997b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x41998e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x5c]
cmp eax, 1
jne 0x4199a0
mov eax, 0xc
jmp 0x4199a1
dec eax
push eax
push 0x462378
lea edi, [ebp - 0x2c]
call fcn.004030f0
mov edi, dword [ebp - 0x2c]
add esp, 4
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.00404130
push ecx
mov byte [ebp - 4], 0x19
mov ecx, esp
mov dword [ebp - 0x3c], esp
push ecx
mov edi, str.StaticBox9
lea esi, [ebp - 0x1c]
call fcn.00404130
mov ecx, dword [ebx + 0x60]
lea ebx, [ebp - 0x30]
call fcn.00439b80
mov byte [ebp - 4], 0x1a
mov eax, dword [eax]
test eax, eax
jne 0x4199f7
push 0x80004003
call fcn.00445020
mov edi, esi
mov esi, eax
call fcn.00439820
mov byte [ebp - 4], 0x1b
mov ecx, dword [eax]
test ecx, ecx
jne 0x419a14
push 0x80004003
call fcn.00445020
mov byte [ebp - 4], 0x1d
call fcn.004399d0
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x419a30
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x419a43
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x40]
push eax
mov ecx, 0x4618e8
mov dword [ebp - 0x30], 1
call fcn.00407e10
mov byte [ebp - 4], 0x1e
mov esi, dword [ebp - 0x20]
lea edi, [ebp - 0x1c]
call fcn.004429b0
mov eax, dword [eax]
cmp esi, eax
je 0x419a8b
mov dword [ebp - 0x20], eax
test eax, eax
je 0x419a7c
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
test esi, esi
je 0x419a88
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x419a9a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test esi, esi
je 0x4195c2
mov ecx, dword [esi]
mov eax, dword [ecx + 0x50]
lea edx, [ebp - 0x1c]
push edx
push esi
mov dword [ebp - 0x1c], 0
call eax
test eax, eax
jns 0x419ac5
push 0x461964
push esi
push eax
call fcn.00445040
cmp word [ebp - 0x1c], 0
jne 0x41d9ac
mov ecx, 8
push str.cPersonCode
mov word [ebp - 0x610], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x608], eax
test eax, eax
je 0x41974f
lea edi, [ebp - 0x1e0]
mov byte [ebp - 4], 0x1f
call fcn.00403e40
mov byte [ebp - 4], 0x20
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x610]
lea edi, [ebp - 0x304]
call fcn.00403e90
mov byte [ebp - 4], 0x21
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x710]
call fcn.00403f00
mov esi, eax
lea edx, [ebp - 0x350]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 8
push 0
push esi
lea eax, [ebp - 0x350]
push eax
mov byte [ebp - 4], 0x23
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x41d996
mov edx, dword [ebp - 0x348]
test edx, edx
jne 0x419b77
xor eax, eax
jmp 0x419b8f
mov eax, edx
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x419b80
sub eax, esi
sar eax, 1
push edx
lea ecx, [ebp - 0x2c]
push ecx
mov ebx, eax
call fcn.004026d0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x350]
push edx
call esi
lea eax, [ebp - 0x710]
push eax
call esi
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x304]
test eax, eax
je 0x419bc9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x1e0]
test eax, eax
je 0x419bdf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x610]
push eax
mov byte [ebp - 4], 0x1e
call esi
mov ecx, dword [ebp - 0x40]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x41d99c
mov eax, dword [ebp - 0x2c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x419c27
test dx, dx
je 0x419c23
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x419c27
add eax, 4
add ecx, 4
test dx, dx
jne 0x419c01
xor eax, eax
jmp 0x419c2c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
setne al
test al, al
je 0x419c3e
mov dword [ebp - 0x30], 1
jmp 0x419c41
inc dword [ebp - 0x30]
mov ecx, 8
push str.cPersonCode
mov word [ebp - 0x380], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x378], eax
test eax, eax
je 0x41974f
mov byte [ebp - 4], 0x24
mov esi, dword [ebp - 0x20]
lea edi, [ebp - 0x1f0]
call fcn.00403e40
mov byte [ebp - 4], 0x25
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x380]
lea edi, [ebp - 0x1e8]
call fcn.00403e90
mov byte [ebp - 4], 0x26
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x7c0]
call fcn.00403f00
mov esi, eax
lea edx, [ebp - 0x680]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 8
push 0
push esi
lea eax, [ebp - 0x680]
push eax
mov byte [ebp - 4], 0x28
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x41d996
mov edx, dword [ebp - 0x678]
test edx, edx
jne 0x419ceb
xor eax, eax
jmp 0x419cff
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x419cf0
sub eax, esi
sar eax, 1
push edx
lea ecx, [ebp - 0x40]
push ecx
mov ebx, eax
call fcn.004026d0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x680]
push edx
call esi
lea eax, [ebp - 0x7c0]
push eax
call esi
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x1e8]
test eax, eax
je 0x419d39
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x1f0]
test eax, eax
je 0x419d4f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x380]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp - 0x14], 0
mov ebx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x29
mov esi, dword [ebx + 0x60]
lea edi, [ebp - 0x200]
call fcn.00439a80
mov byte [ebp - 4], 0x2a
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x1f8]
call fcn.00439c40
mov byte [ebp - 4], 0x2b
mov esi, dword [eax]
test esi, esi
je 0x4195c2
mov ecx, dword [esi]
mov edx, dword [ecx + 0x94]
push esi
call edx
test eax, eax
jns 0x419dba
push 0x466594
push esi
push eax
call fcn.00445040
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x1f8]
test eax, eax
je 0x419dd0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x200]
test eax, eax
je 0x419de6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 8
push 0x462388
mov word [ebp - 0x5c0], ax
call fcn.004450c0
mov dword [ebp - 0x5b8], eax
mov byte [ebp - 4], 0x2c
mov esi, dword [ebx + 0x60]
lea edi, [ebp - 0x2dc]
call fcn.00439a80
mov byte [ebp - 4], 0x2d
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x74]
call fcn.00439c40
mov bl, 0x2e
mov byte [ebp - 4], bl
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x268]
call fcn.004397d0
mov byte [ebp - 4], 0x2f
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x5c0]
lea edi, [ebp - 0x6c]
call fcn.00439770
mov eax, dword [eax]
test eax, eax
je 0x419e71
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
mov dword [ebp - 0x14], eax
call edx
mov eax, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x14]
test eax, eax
je 0x419e83
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x419e98
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x419eab
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x2dc]
test eax, eax
je 0x419ec1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x5c0]
push eax
mov byte [ebp - 4], 0x29
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
je 0x4195c2
mov edx, dword [ebp - 0x30]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x80]
push edx
push esi
call eax
test eax, eax
jns 0x419ef9
push 0x466574
push esi
push eax
call fcn.00445040
mov ecx, 8
push 0x462390
mov word [ebp - 0x6a0], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x698], eax
test eax, eax
je 0x41974f
mov byte [ebp - 4], 0x30
mov esi, dword [ebp - 0x20]
lea edi, [ebp - 0x270]
call fcn.00403e40
mov byte [ebp - 4], 0x31
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x6a0]
lea edi, [ebp - 0x7c]
call fcn.00403e90
mov byte [ebp - 4], 0x32
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x740]
call fcn.00403f00
mov esi, eax
lea edx, [ebp - 0x3a0]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 8
push 0
push esi
lea eax, [ebp - 0x3a0]
push eax
mov byte [ebp - 4], 0x34
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x41d996
mov edx, dword [ebp - 0x398]
test edx, edx
jne 0x419fa0
xor eax, eax
jmp 0x419fb4
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x419fa5
sub eax, esi
sar eax, 1
push edx
lea ecx, [ebp - 0x2c]
push ecx
mov ebx, eax
call fcn.004026d0
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x3a0]
push edx
call ebx
lea eax, [ebp - 0x740]
push eax
call ebx
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x419feb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x41a001
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x6a0]
push eax
mov byte [ebp - 4], 0x29
call ebx
mov ecx, 8
push 0x462398
mov word [ebp - 0x3c0], cx
call fcn.004450c0
mov dword [ebp - 0x3b8], eax
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x35
mov esi, dword [edx + 0x60]
lea edi, [ebp - 0x278]
call fcn.00439a80
mov byte [ebp - 4], 0x36
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x8c]
call fcn.00439c40
mov byte [ebp - 4], 0x37
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x334]
call fcn.004397d0
mov byte [ebp - 4], 0x38
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x3c0]
lea edi, [ebp - 0x84]
call fcn.00439770
mov eax, dword [eax]
mov edi, dword [ebp - 0x14]
cmp edi, eax
je 0x41a0b9
mov esi, edi
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41a0aa
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
test esi, esi
je 0x41a0b6
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x41a0cb
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x334]
test eax, eax
je 0x41a0e1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x41a0f7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x41a10d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x3c0]
push eax
mov byte [ebp - 4], 0x29
call ebx
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x94]
push edx
mov ebx, 0x4623a0
call fcn.0043a280
mov byte [ebp - 4], 0x39
mov ebx, dword [eax]
push 0xc
call fcn.004458c0
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x3a
test esi, esi
je 0x41a171
push ebx
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x41a173
test ebx, ebx
jne 0x41974f
jmp 0x41a173
xor esi, esi
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41974f
mov byte [ebp - 4], 0x3b
test edi, edi
je 0x4195c2
mov byte [ebp - 4], 0x3c
mov ecx, dword [esi]
mov eax, dword [edi]
mov edx, dword [eax + 0x88]
push ecx
push edi
call edx
test eax, eax
jns 0x41a1b0
push 0x466574
push edi
push eax
call fcn.00445040
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41a1e4
mov eax, dword [esi]
test eax, eax
je 0x41a1cb
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x41a1db
push eax
call fcn.004458b5
add esp, 4
push esi
call fcn.004453a1
add esp, 4
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x94]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41a20a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, 8
push 0x4623a8
mov word [ebp - 0x3e0], cx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x3d8], eax
test eax, eax
je 0x41974f
mov byte [ebp - 4], 0x3d
mov esi, dword [ebp - 0x20]
lea edi, [ebp - 0x9c]
call fcn.00403e40
mov byte [ebp - 4], 0x3e
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x3e0]
lea edi, [ebp - 0x2e4]
call fcn.00403e90
mov byte [ebp - 4], 0x3f
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x7a0]
call fcn.00403f00
mov esi, eax
lea edx, [ebp - 0x5e0]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 8
push 0
push esi
lea eax, [ebp - 0x5e0]
push eax
mov byte [ebp - 4], 0x41
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x41d996
mov edx, dword [ebp - 0x5d8]
test edx, edx
jne 0x41a2b4
xor eax, eax
jmp 0x41a2cf
mov eax, edx
lea esi, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41a2c0
sub eax, esi
sar eax, 1
push edx
lea ecx, [ebp - 0x2c]
push ecx
mov ebx, eax
call fcn.004026d0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [ebp - 0x5e0]
push edx
call esi
lea eax, [ebp - 0x7a0]
push eax
call esi
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x2e4]
test eax, eax
je 0x41a309
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x41a31f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x3e0]
push eax
mov byte [ebp - 4], 0x29
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, 8
push 0x4623b4
mov word [ebp - 0x6c0], cx
call fcn.004450c0
mov dword [ebp - 0x6b8], eax
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x42
mov esi, dword [edx + 0x60]
lea edi, [ebp - 0xac]
call fcn.00439a80
mov byte [ebp - 4], 0x43
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x314]
call fcn.00439c40
mov byte [ebp - 4], 0x44
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0xa4]
call fcn.004397d0
mov byte [ebp - 4], 0x45
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x6c0]
lea edi, [ebp - 0x280]
call fcn.00439770
mov eax, dword [eax]
mov ebx, dword [ebp - 0x14]
cmp ebx, eax
je 0x41a3db
mov esi, ebx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41a3cc
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
test esi, esi
je 0x41a3d8
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x41a3ed
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x41a403
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x314]
test eax, eax
je 0x41a419
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x41a42f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x6c0]
push eax
mov byte [ebp - 4], 0x29
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0xc
call fcn.004458c0
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x46
test esi, esi
je 0x41a47f
mov edi, dword [ebp - 0x2c]
push edi
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x41a481
test edi, edi
jne 0x41974f
jmp 0x41a481
xor esi, esi
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41974f
mov byte [ebp - 4], 0x47
test ebx, ebx
je 0x4195c2
mov byte [ebp - 4], 0x48
mov edx, dword [esi]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x88]
push edx
push ebx
call eax
test eax, eax
jns 0x41a4be
push 0x466574
push ebx
push eax
call fcn.00445040
lea ecx, [esi + 8]
push ecx
mov byte [ebp - 4], 0x29
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41a4f6
mov eax, dword [esi]
test eax, eax
je 0x41a4dd
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
test eax, eax
je 0x41a4ed
push eax
call fcn.004458b5
add esp, 4
push esi
call fcn.004453a1
add esp, 4
mov edx, 8
push 0x4623c0
mov word [ebp - 0x600], dx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x5f8], eax
test eax, eax
je 0x41974f
mov byte [ebp - 4], 0x49
mov esi, dword [ebp - 0x20]
lea edi, [ebp - 0xb4]
call fcn.00403e40
mov byte [ebp - 4], 0x4a
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x600]
lea edi, [ebp - 0x288]
call fcn.00403e90
mov byte [ebp - 4], 0x4b
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x760]
call fcn.00403f00
mov esi, eax
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 8
push 0
push esi
lea ecx, [ebp - 0x400]
push ecx
mov byte [ebp - 4], 0x4d
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x41d996
mov edx, dword [ebp - 0x3f8]
test edx, edx
jne 0x41a5a0
xor eax, eax
jmp 0x41a5b4
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41a5a5
sub eax, esi
sar eax, 1
push edx
lea edx, [ebp - 0x2c]
push edx
mov ebx, eax
call fcn.004026d0
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x400]
push eax
call esi
lea ecx, [ebp - 0x760]
push ecx
call esi
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x288]
test eax, eax
je 0x41a5ee
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x49
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x41a604
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x600]
push eax
mov byte [ebp - 4], 0x29
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, 8
push 0x4623cc
mov word [ebp - 0x420], cx
call fcn.004450c0
mov dword [ebp - 0x418], eax
mov edx, dword [ebp - 0x18]
mov byte [ebp - 4], 0x4e
mov esi, dword [edx + 0x60]
lea edi, [ebp - 0xc4]
call fcn.00439a80
mov byte [ebp - 4], 0x4f
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0x290]
call fcn.00439c40
mov byte [ebp - 4], 0x50
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea edi, [ebp - 0xbc]
call fcn.004397d0
mov byte [ebp - 4], 0x51
mov esi, dword [eax]
test esi, esi
je 0x4195c2
lea ecx, [ebp - 0x420]
lea edi, [ebp - 0x2ec]
call fcn.00439770
mov eax, dword [eax]
mov ebx, dword [ebp - 0x14]
cmp ebx, eax
je 0x41a6c0
mov esi, ebx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41a6b1
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
test esi, esi
je 0x41a6bd
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2ec]
test eax, eax
je 0x41a6d2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x41a6e8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x290]
test eax, eax
je 0x41a6fe
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x41a714
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x420]
push eax
mov byte [ebp - 4], 0x29
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push 0xc
call fcn.004458c0
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x52
test esi, esi
je 0x41a764
mov edi, dword [ebp - 0x2c]
push edi
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi], eax
test eax, eax
jne 0x41a766
test edi, edi
jne 0x41974f
jmp 0x41a766
xor esi, esi
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x41974f
mov byte [ebp - 4], 0x53
test ebx, ebx
je 0x4195c2
mov byte [ebp - 4], 0x54
mov edx, dword [esi]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x88]
push edx
push ebx
call eax
test eax, eax
jns 0x41a7a3
push 0x466574
push ebx
push eax
call fcn.00445040
lea ecx, [esi + 8]
push ecx
mov byte [ebp - 4], 0x29
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x41a7db
push eax
call fcn.00404430
push 0x80004005
call fcn.00404430
push eax
call fcn.00445020
mov eax, dword [0x47628c]
test eax, eax
jne 0x41d9bf
push 0x80004003
call fcn.00445020
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
push eax
mov edi, eax
call edx
test eax, eax
jns 0x41d9d9
push 0x461944
push edi
push eax
call fcn.00445040
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41d9fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x44]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41da1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41da42
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41da65
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 6
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41da97
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret