Function at 0x47e7b0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4efa4f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb4
push ebx
push esi
push edi
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 1
call fcn.00401bb0
mov ecx, eax
test ecx, ecx
je 0x47f715
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
mov edx, dword [ebp + 8]
test edx, edx
je 0x47e83b
test edx, 0xffff0000
jne 0x47e824
movzx eax, dx
lea ecx, [ebp - 0x1c]
push eax
call fcn.004062a0
jmp 0x47e847
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e830
sub ecx, esi
jmp 0x47e83d
xor ecx, ecx
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.00401820
push 1
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x20]
call fcn.004baa70
mov byte [ebp - 4], 1
or eax, 0xffffffff
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47e878
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push str.workbook
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb2b0
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.004ba5e0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x47e8a9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x47e8ba
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor edi, edi
mov dword [ebp - 0x14], edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 4], 0xc
xor esi, esi
mov edx, dword [ebp - 0x20]
mov ecx, 1
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 8], edx
test edx, edx
je 0x47e919
mov eax, dword [edx]
lea ecx, [ebp - 0x28]
push ecx
push edx
mov dword [ebp - 0x28], esi
call dword [eax + 0xb4]
test eax, eax
jns 0x47e904
push 0x50f9e8
push dword [ebp + 8]
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x28]
mov ecx, 7
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x47e91c
mov byte [ebp + 0xb], 1
jmp 0x47e920
mov eax, dword [ebp + 8]
mov byte [ebp + 0xb], 0
mov dword [ebp - 4], 0xc
test cl, 2
je 0x47e944
and ecx, 0xfffffffd
mov dword [ebp - 0x1c], ecx
mov byte [ebp - 4], 0x10
test eax, eax
je 0x47e940
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xc
cmp byte [ebp + 0xb], 0
je 0x47eaa3
push 0
push 0
push 0xffffffffffffffff
push str.__newsheet
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea ecx, [esi - 1]
push ecx
push 0
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov dword [ebp + 8], eax
test eax, eax
je 0x47e9a2
push esi
push eax
push 0xffffffffffffffff
push str.__newsheet
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x47e99f
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor eax, eax
mov dword [ebp + 8], eax
jmp 0x47e9a2
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x18]
call fcn.00480940
mov byte [ebp - 4], 0x11
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x47f71f
mov eax, dword [esi]
lea ecx, [ebp - 0x24]
push ecx
push esi
mov dword [ebp - 0x24], 0
call dword [eax + 0xb4]
test eax, eax
jns 0x47e9de
push 0x50f9e8
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x24]
or dword [ebp - 0x1c], 8
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x40], esi
mov byte [ebp - 4], 0x13
test esi, esi
je 0x47f71f
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x2c], 0
test eax, eax
je 0x47ea0d
mov ecx, dword [eax]
jmp 0x47ea0f
xor ecx, ecx
mov eax, dword [esi]
lea edx, [ebp - 0x2c]
push edx
push ecx
push esi
call dword [eax + 0x90]
test eax, eax
jns 0x47ea2d
push 0x50f9f8
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x2c]
lea ecx, [ebp - 0x18]
or dword [ebp - 0x1c], 0x10
mov dword [ebp - 0x40], esi
call fcn.00434ed0
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x47ea50
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
test esi, esi
je 0x47ea85
mov eax, dword [ebp - 0x20]
push ecx
mov ecx, esp
mov dword [ecx], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x47ea6a
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
push ecx
mov eax, esp
mov dword [eax], esi
mov byte [ebp - 4], 0x1b
test esi, esi
je 0x47ea7d
mov eax, dword [esi]
push esi
call dword [eax + 4]
lea ecx, [ebp - 0x50]
call fcn.004b8e50
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0x1c
test esi, esi
je 0x47ea9c
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 0xc
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x44], 0
test esi, esi
je 0x47ead5
mov eax, dword [esi]
lea ecx, [ebp + 8]
push ecx
push esi
mov dword [ebp + 8], 0
call dword [eax + 0x20]
test eax, eax
jns 0x47eacf
push 0x50f9d8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x47eae6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x1e
test esi, esi
je 0x47eaf4
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [ebp - 0x48]
add eax, 0x10
mov byte [ebp - 4], 0xb
cmp dword [eax + 4], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp + 8], eax
lea esi, [eax + 4]
mov dword [ebp - 0x40], esi
je 0x47eb4c
push 0
push 0x53b3cc
push 0
push 0
push 4
push 0x17e
push esi
call dword [sym.imp.mfc140.dll_Ordinal_8087]
push 0xffffefd9
push 0x53b3d4
push 0
push 0
push 4
push 0x13c
push esi
call dword [sym.imp.mfc140.dll_Ordinal_8087]
add esp, 0x38
xor ecx, ecx
mov esi, dword [ebp - 0x38]
xor eax, eax
mov dword [ebp - 0x28], ecx
test esi, esi
je 0x47eb80
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x18]
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0x20]
test eax, eax
jns 0x47eb77
push 0x50f9d8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
cmp ecx, eax
jge 0x47f650
push ecx
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x38]
call fcn.004ba8e0
mov dword [ebp - 0x18], eax
mov esi, dword [eax]
cmp edi, esi
je 0x47ebc0
mov byte [ebp - 4], 0x1f
test esi, esi
je 0x47ebaf
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x20
test edi, edi
je 0x47ebc0
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov esi, dword [ebp - 0x18]
mov esi, dword [esi + 4]
cmp ebx, esi
je 0x47ebe9
mov byte [ebp - 4], 0x21
test esi, esi
je 0x47ebd8
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0x22
test ebx, ebx
je 0x47ebe9
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x90]
test ecx, ecx
je 0x47ebfd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x47ec11
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 1
push 0
push 0
push 0
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 0xb
mov ebx, dword [sym.imp.USER32.dll_PeekMessageA]
push eax
call ebx
test eax, eax
je 0x47ec5f
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 1
push 0
push 0
push 0
lea eax, [ebp - 0xc0]
push eax
call ebx
test eax, eax
jne 0x47ec30
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push str.newsheet
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x7c]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47ec9e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47edd9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 0x10]
inc eax
mov dword [ebp - 0x2c], eax
test ecx, ecx
je 0x47ecbf
push dword [ebp - 0x44]
push eax
push ecx
call dword [ebp + 0xc]
add esp, 0xc
push 0x5096d8
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
test eax, eax
lea ecx, [ebp - 0x14]
setg al
movzx eax, al
push eax
push str.orientation
lea eax, [ebp - 0x84]
push eax
call fcn.004b93a0
mov byte [ebp - 4], 0x26
push str.portrait
push dword [eax]
call ebx
add esp, 4
lea ecx, [ebp - 0x14]
push str.hidegridlines
call fcn.004b8fd0
mov edi, dword [ebp - 0x14]
cmp eax, 1
sete al
movzx eax, al
push eax
sub esp, 8
mov dword [ebp - 0x18], esp
mov esi, esp
mov dword [esi], 0
mov dword [esi + 4], 0
test edi, edi
je 0x47ed48
mov byte [ebp - 4], 0x27
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi]
mov dword [esi], edi
mov byte [ebp - 4], 0x28
test ecx, ecx
je 0x47ed48
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edi, dword [ebp - 0x10]
cmp dword [esi + 4], edi
je 0x47ed72
mov byte [ebp - 4], 0x29
test edi, edi
je 0x47ed5e
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esi + 4], edi
mov byte [ebp - 4], 0x2a
test ecx, ecx
je 0x47ed72
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push str.name
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x2b
push eax
lea ecx, [ebp - 0x14]
call fcn.004b93a0
mov byte [ebp - 4], 0x2c
mov ecx, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x2d
call fcn.0046fd40
mov byte [ebp - 4], 0x26
or eax, 0xffffffff
mov edx, dword [ebp - 0x80]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47edb7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
or eax, 0xffffffff
mov edx, dword [ebp - 0x84]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47edd9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
push str.format
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x88]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47ee18
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47ee8b
mov edi, dword [ebp - 0x14]
sub esp, 8
mov esi, esp
mov dword [esi], 0
mov dword [esi + 4], 0
test edi, edi
je 0x47ee55
mov byte [ebp - 4], 0x2f
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi]
mov dword [esi], edi
mov byte [ebp - 4], 0x30
test ecx, ecx
je 0x47ee51
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x10]
cmp dword [esi + 4], edi
je 0x47ee83
mov byte [ebp - 4], 0x31
test edi, edi
je 0x47ee6b
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esi + 4], edi
mov byte [ebp - 4], 0x32
test ecx, ecx
je 0x47ee7f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp + 8]
call fcn.00470480
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
push str.pagesetup
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x8c]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47eeca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47ef3d
mov edi, dword [ebp - 0x14]
sub esp, 8
mov esi, esp
mov dword [esi], 0
mov dword [esi + 4], 0
test edi, edi
je 0x47ef07
mov byte [ebp - 4], 0x34
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi]
mov dword [esi], edi
mov byte [ebp - 4], 0x35
test ecx, ecx
je 0x47ef03
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x10]
cmp dword [esi + 4], edi
je 0x47ef35
mov byte [ebp - 4], 0x36
test edi, edi
je 0x47ef1d
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esi + 4], edi
mov byte [ebp - 4], 0x37
test ecx, ecx
je 0x47ef31
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp + 8]
call fcn.00470210
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
push str.table
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x54]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47ef76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47f236
lea ecx, [ebp - 0x30]
call dword [sym.imp.mfc140.dll_Ordinal_316]
push 0xa
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x39
push 0x50721c
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0xc
lea eax, [ebp - 0xa4]
lea ecx, [ebp - 0x14]
push eax
call fcn.004ba5e0
push esi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x3a
push ecx
mov ecx, eax
call fcn.004ba8e0
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x3b
push ecx
mov ecx, eax
call fcn.004ba0b0
mov byte [ebp - 4], 0x3c
mov esi, dword [eax]
test esi, esi
je 0x47efed
mov eax, dword [esi + 4]
test eax, eax
jne 0x47efef
push dword [esi]
call fcn.004e2ca0
mov dword [esi + 4], eax
jmp 0x47efef
xor eax, eax
push eax
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc140.dll_Ordinal_310]
lea ecx, [ebp - 0x58]
call fcn.00434ed0
mov byte [ebp - 4], 0x40
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x47f015
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x47f029
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x43
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x47f03d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0x44
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
je 0x47f051
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push 0
push str._br_
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x42
call dword [sym.imp.mfc140.dll_Ordinal_4656]
cmp eax, 0xffffffff
lea ecx, [ebp - 0x24]
setne byte [ebp - 0x5c]
call dword [sym.imp.mfc140.dll_Ordinal_2438]
push 0xc
mov edi, eax
call dword [sym.imp.mfc140.dll_Ordinal_1507]
mov esi, eax
add esp, 4
mov dword [ebp - 0x4c], esi
mov byte [ebp - 4], 0x45
test esi, esi
je 0x47f0b4
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 0x47f0b6
test edi, edi
jne 0x47f729
jmp 0x47f0b6
xor esi, esi
mov byte [ebp - 4], 0x42
mov dword [ebp - 0x18], esi
test esi, esi
je 0x47f729
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x46
push eax
call fcn.0047fd10
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x42
mov edi, eax
call fcn.00434ed0
test edi, edi
je 0x47f220
push str.height
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
test eax, eax
je 0x47f106
push str.height
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push str.width
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
test eax, eax
je 0x47f124
push str.width
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push str.left
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
test eax, eax
je 0x47f142
push str.left
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push 0x508f5c
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
test eax, eax
je 0x47f160
push 0x508f5c
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
call fcn.00401bb0
mov ecx, eax
test ecx, ecx
je 0x47f715
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, str.insert
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x1c]
test eax, 0xffff0000
jne 0x47f198
movzx eax, ax
push eax
call fcn.004062a0
jmp 0x47f1a4
push 6
push str.insert
call fcn.00401820
push str.cell
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [ebp - 0x14]
call fcn.004b93a0
mov esi, eax
push str.color
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x49
call fcn.004b8fd0
push dword [ebp - 0x5c]
mov ecx, dword [ebp + 8]
sub esp, 0x20
push esi
call fcn.004745e0
mov byte [ebp - 4], 0x48
or eax, 0xffffffff
mov edx, dword [ebp - 0x60]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47f1fa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x42
or eax, 0xffffffff
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47f219
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea ecx, [ebp - 0x24]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xb
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
push str.chart
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x64]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47f26f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47f2e6
mov edi, dword [ebp - 0x14]
sub esp, 8
mov esi, esp
mov dword [esi], 0
mov dword [esi + 4], 0
test edi, edi
je 0x47f2ac
mov byte [ebp - 4], 0x4b
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi]
mov dword [esi], edi
mov byte [ebp - 4], 0x4c
test ecx, ecx
je 0x47f2a8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x10]
cmp dword [esi + 4], edi
je 0x47f2da
mov byte [ebp - 4], 0x4d
test edi, edi
je 0x47f2c2
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esi + 4], edi
mov byte [ebp - 4], 0x4e
test ecx, ecx
je 0x47f2d6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.004712f0
jmp 0x47f2e9
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
push str.chartfromsheet
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x68]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47f322
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47f397
mov edi, dword [ebp - 0x14]
sub esp, 8
mov esi, esp
mov dword [esi], 0
mov dword [esi + 4], 0
test edi, edi
je 0x47f35f
mov byte [ebp - 4], 0x50
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi]
mov dword [esi], edi
mov byte [ebp - 4], 0x51
test ecx, ecx
je 0x47f35b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp - 0x10]
cmp dword [esi + 4], edi
je 0x47f38d
mov byte [ebp - 4], 0x52
test edi, edi
je 0x47f375
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esi + 4], edi
mov byte [ebp - 4], 0x53
test ecx, ecx
je 0x47f389
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov byte [ebp - 4], 0xb
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.00473020
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
push str.range
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x6c]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47f3d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47f491
push 0x509734
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x14]
call fcn.004b93a0
mov edi, eax
push str.start
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x55
push eax
lea ecx, [ebp - 0x14]
call fcn.004b93a0
mov esi, eax
push str.merge
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x56
call fcn.004b8fd0
cmp eax, 1
sete cl
movzx ecx, cl
push ecx
push str.rowheight
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push eax
push str.columnwidth
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push eax
push str.fontsize
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push eax
push edi
mov edi, dword [ebp + 8]
mov ecx, edi
push esi
call fcn.00474880
mov byte [ebp - 4], 0x55
or eax, 0xffffffff
mov edx, dword [ebp - 0x70]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47f472
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0xb
or eax, 0xffffffff
mov edx, dword [ebp - 0x74]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47f491
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x14]
call fcn.004ba170
push str.image
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb
add esp, 8
mov edx, dword [ebp - 0x78]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x47f4ca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
jne 0x47f641
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004b9e30
mov esi, eax
push str.bordercolor
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x58
call fcn.004b8fd0
push str.border
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push str.maxwidth
lea ecx, [ebp - 0x14]
call fcn.004b8fd0
push ecx
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push str.maxheight
call fcn.004b8fd0
sub esp, 0xc
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
push str.stretch
call fcn.004b8fd0
cmp eax, 1
lea ecx, [ebp - 0x14]
sete al
movzx eax, al
push eax
push str.midy
call fcn.004b8fd0
push ecx
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push str.midx
call fcn.004b8fd0
push ecx
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push str.right
call fcn.004b8fd0
push ecx
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push str.bottom
call fcn.004b8fd0
push ecx
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push str.width
call fcn.004b8fd0
push ecx
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push str.height
call fcn.004b8fd0
push ecx
lea ecx, [ebp - 0x14]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push str.left
call fcn.004b8fd0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push 0x508f5c
lea ecx, [ebp - 0x14]
movss dword [ebp - 0x18], xmm0
call fcn.004b8fd0
movss xmm3, dword [ebp - 0x18]
mov ecx, edi
push esi
movd xmm2, eax
cvtdq2ps xmm2, xmm2
call fcn.00470f20
mov byte [ebp - 4], 0xb
or eax, 0xffffffff
mov edx, dword [ebp - 0x3c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47f641
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x10]
inc ecx
mov edi, dword [ebp - 0x14]
jmp 0x47eb4e
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x14], 0
je 0x47f697
mov esi, dword [ebp - 0x40]
push 1
push 0x53b3cc
push 0
push 0
push 4
push 0x17e
push esi
call dword [sym.imp.mfc140.dll_Ordinal_8087]
push 0xffffeff7
push 0x53b3d4
push 0
push 0
push 4
push 0x13c
push esi
call dword [sym.imp.mfc140.dll_Ordinal_8087]
mov esi, dword [ebp - 0x38]
add esp, 0x38
mov byte [ebp - 4], 0x59
test ebx, ebx
je 0x47f6a8
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0x5a
test edi, edi
je 0x47f6b9
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x47f6cd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0x5c
test esi, esi
je 0x47f6db
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov dword [ebp - 4], 0x5d
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x47f6f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x5f
test eax, eax
je 0x47f702
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x80004005
call fcn.00401f30
push 0x80004003
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
int3