Function at 0x45c290
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x70
push 0xffffffffffffffff
push 0x4aba3e
mov eax, dword fs:[0]
push eax
sub esp, 0xb3c
mov eax, dword [0x4cd4a4]
xor eax, ebp
mov dword [ebp + 0x6c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, ecx
mov ecx, dword [ebp + 0x7c]
xor edi, edi
mov dword [ebp + 0x54], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp + 0x2c], edi
cmp byte [eax + 0x15f], 0
mov dword [ebp - 4], edi
je 0x45c301
mov eax, dword [ebp + 0x78]
cmp eax, edi
mov dword [ebp - 4], 0xffffffff
je 0x4646f1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4646f1
mov esi, dword [ebp + 0x78]
cmp esi, edi
jne 0x45c312
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
mov eax, dword [ecx + 0x20]
lea edx, [ebp - 0x390]
push edx
push esi
call eax
cmp eax, edi
jge 0x45c331
push 0x4b3d48
push esi
push eax
call fcn.0049fa90
mov ecx, dword [ebp - 0x390]
xor edi, edi
mov dword [ebp - 0x2a4], ecx
mov dword [ebp + 0x44], edi
mov dword [ebp - 0x134], edi
xor ebx, ebx
mov dword [ebp - 0x45c], ebx
mov dword [ebp - 0x454], edi
fldz
fst dword [ebp + 0x10]
mov byte [ebp - 0x1d], bl
fst dword [ebp - 0x48]
mov dword [ebp + 0x14], edi
fst dword [ebp - 0x7c]
fst dword [ebp - 0x80]
fst dword [ebp - 0x78]
fstp dword [ebp - 0x1c]
mov dword [ebp + 0x48], edi
mov dword [ebp - 0x60], edi
mov byte [ebp - 4], 7
mov esi, 1
cmp esi, dword [ebp - 0x2a4]
mov dword [ebp - 0x8c], esi
jg 0x464637
mov edx, dword [ebp + 0x54]
mov ecx, dword [edx + 0x140]
call fcn.00454d40
mov edi, dword [ebp + 0x78]
test edi, edi
jne 0x45c3b0
push 0x80004003
call fcn.0049fa80
push esi
lea eax, [ebp - 0x2c4]
push eax
mov ecx, edi
call fcn.0043ad60
mov eax, dword [eax]
mov edi, dword [ebp + 0x44]
cmp edi, eax
je 0x45c3e7
test eax, eax
mov esi, edi
mov edi, eax
mov dword [ebp + 0x44], edi
je 0x45c3db
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
test esi, esi
je 0x45c3e7
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov eax, dword [ebp - 0x2c4]
test eax, eax
je 0x45c3f9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
push str.done
lea ecx, [ebp - 0x158]
call fcn.004027a0
mov esi, eax
test edi, edi
mov byte [ebp - 4], 8
jne 0x45c41d
push 0x80004003
call fcn.0049fa80
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, edi
call fcn.00444cf0
mov ecx, dword [eax]
mov edx, dword [esi]
cmp ecx, edx
jne 0x45c437
xor eax, eax
jmp 0x45c44f
test ecx, ecx
jne 0x45c440
or eax, 0xffffffff
jmp 0x45c44f
test edx, edx
jne 0x45c449
lea eax, [edx + 1]
jmp 0x45c44f
push edx
call fcn.004012d0
mov esi, dword [ebp - 0x12c]
xor edi, edi
cmp eax, edi
sete bl
cmp esi, edi
je 0x45c49f
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, edi
jne 0x45c499
cmp esi, edi
je 0x45c499
cmp dword [esi], edi
je 0x45c47f
mov ecx, dword [esi]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [esi + 4], edi
je 0x45c490
mov eax, dword [esi + 4]
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push esi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
mov dword [ebp - 0x12c], edi
mov esi, dword [ebp - 0x158]
cmp esi, edi
mov byte [ebp - 4], 7
je 0x45c4ec
lea edx, [esi + 8]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, edi
jne 0x45c4e6
cmp esi, edi
je 0x45c4e6
cmp dword [esi], edi
je 0x45c4cc
mov eax, dword [esi]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [esi + 4], edi
je 0x45c4dd
mov eax, dword [esi + 4]
push eax
call sub.MFC80U.DLL_Ordinal_266
add esp, 4
push esi
call sub.MFC80U.DLL_Ordinal_764
add esp, 4
mov dword [ebp - 0x158], edi
test bl, bl
jne 0x464607
mov esi, dword [ebp + 0x44]
cmp esi, edi
jne 0x45c505
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
mov edx, dword [ecx + 0x48]
push esi
call edx
cmp eax, edi
jge 0x45c51d
push 0x4b481c
push esi
push eax
call fcn.0049fa90
mov ebx, dword [ebp + 0x54]
cmp dword [ebx + 0x114], edi
jne 0x45c532
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x114]
lea eax, [ebp - 0x590]
push eax
call fcn.004034e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 9
jne 0x45c558
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea ecx, [ebp - 0x588]
push ecx
mov ecx, esi
call fcn.00403e10
mov eax, dword [eax]
mov esi, dword [ebp + 0x14]
cmp esi, eax
je 0x45c58c
cmp eax, edi
mov dword [ebp + 0x14], eax
je 0x45c580
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
cmp esi, edi
je 0x45c58c
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [ebp - 0x588]
cmp eax, edi
je 0x45c59e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x590]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45c5b4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov word [ebp - 0x6b4], 3
mov dword [ebp - 0x6ac], 1
cmp dword [ebx + 0x114], edi
mov byte [ebp - 4], 0xa
jne 0x45c5dd
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x114]
lea eax, [ebp - 0x598]
push eax
call fcn.004034e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0xb
jne 0x45c603
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x13c]
lea edx, [ebp - 0x6b4]
push edx
push esi
call eax
cmp eax, edi
jge 0x45c627
push 0x4b3b08
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x598]
cmp eax, edi
mov byte [ebp - 4], 0xa
je 0x45c63d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x6b4]
push eax
mov byte [ebp - 4], 7
call ebx
mov ecx, dword [ebp + 0x54]
cmp dword [ecx + 0x114], edi
jne 0x45c665
push 0x80004003
call fcn.0049fa80
mov edx, dword [ebp + 0x54]
mov ecx, dword [edx + 0x114]
lea eax, [ebp - 0x66c]
push eax
call fcn.004034e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0xc
jne 0x45c68e
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
push 3
lea edx, [ebp - 0x8b0]
push edx
call fcn.004018a0
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.0040ad40
mov dword [ebp + 0x18], eax
lea eax, [ebp - 0x8b0]
push eax
call ebx
mov eax, dword [ebp - 0x66c]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45c6cb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp + 0x44]
lea eax, [ebp - 0x578]
push eax
call fcn.0045abd0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0xe
jne 0x45c6ee
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
lea edx, [ebp - 0x180]
push edx
call fcn.0045aa90
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0xf
jne 0x45c710
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x644]
push eax
mov ecx, esi
call fcn.0040b070
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x10
jne 0x45c736
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x70]
push esi
call edx
cmp eax, edi
jge 0x45c750
push 0x4b3c70
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x644]
cmp eax, edi
mov byte [ebp - 4], 0xf
je 0x45c766
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x180]
cmp eax, edi
mov byte [ebp - 4], 0xe
je 0x45c77c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x578]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45c792
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [ebp + 0x54]
mov ecx, esi
call fcn.00404420
fld1
fstp dword [ebp - 0x878]
mov word [ebp - 0x880], 4
cmp dword [esi + 0x114], edi
mov byte [ebp - 4], 0x11
jne 0x45c7c3
push 0x80004003
call fcn.0049fa80
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x114]
lea edx, [ebp - 0x188]
push edx
call fcn.004034e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x12
jne 0x45c7ec
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov eax, dword [esi]
mov edx, dword [eax + 0x13c]
lea ecx, [ebp - 0x880]
push ecx
push esi
call edx
cmp eax, edi
jge 0x45c810
push 0x4b3b08
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x188]
cmp eax, edi
mov byte [ebp - 4], 0x11
je 0x45c826
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x880]
push eax
mov byte [ebp - 4], 7
call ebx
mov ecx, dword [ebp + 0x54]
cmp dword [ecx + 0x114], edi
jne 0x45c848
push 0x80004003
call fcn.0049fa80
mov ebx, dword [ebp + 0x54]
mov ecx, dword [ebx + 0x114]
lea edx, [ebp - 0x46c]
push edx
call fcn.004034e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x13
jne 0x45c871
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea eax, [ebp - 0x190]
push eax
mov ecx, esi
call fcn.0040b3e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x14
jne 0x45c895
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x34]
lea edx, [ebp - 0x580]
push edx
push esi
call eax
cmp eax, edi
jge 0x45c8b6
push 0x4b3c60
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x190]
cmp eax, edi
mov ecx, dword [ebp - 0x580]
mov dword [ebp + 8], ecx
mov byte [ebp - 4], 0x13
je 0x45c8d5
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x46c]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45c8eb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebx + 0x114], edi
jne 0x45c8fd
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x114]
lea eax, [ebp - 0x54c]
push eax
call fcn.004034e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x15
jne 0x45c923
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea ecx, [ebp - 0x198]
push ecx
mov ecx, esi
call fcn.0040b3e0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x16
jne 0x45c947
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov edx, dword [esi]
mov eax, dword [edx + 0x38]
push edi
push esi
call eax
cmp eax, edi
jge 0x45c962
push 0x4b3c60
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x198]
cmp eax, edi
mov byte [ebp - 4], 0x15
je 0x45c978
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x54c]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45c98e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp + 0x44]
lea eax, [ebp - 0x1b0]
push eax
mov ecx, ebx
call fcn.0045abd0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x17
jne 0x45c9b3
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
lea edx, [ebp - 0x5cc]
push edx
call fcn.0045aa90
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x18
jne 0x45c9d5
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x1a8]
push eax
mov ecx, esi
call fcn.0040b070
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x19
jne 0x45c9fb
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea ecx, [ebp - 0x474]
push ecx
mov ecx, esi
call fcn.0045ad60
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x1a
jne 0x45ca1f
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov edx, dword [esi]
mov ecx, dword [edx + 0x15c]
lea eax, [ebp - 0x1a0]
push eax
push esi
call ecx
cmp eax, edi
jge 0x45ca43
push 0x4b3a68
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x474]
cmp eax, edi
mov edx, dword [ebp - 0x1a0]
mov dword [ebp + 0x1c], edx
mov byte [ebp - 4], 0x19
je 0x45ca62
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1a8]
cmp eax, edi
mov byte [ebp - 4], 0x18
je 0x45ca78
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x5cc]
cmp eax, edi
mov byte [ebp - 4], 0x17
je 0x45ca8e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1b0]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45caa4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x1c0]
push eax
mov ecx, ebx
call fcn.0045abd0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x1b
jne 0x45cac6
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
lea edx, [ebp - 0x554]
push edx
call fcn.0045aa90
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x1c
jne 0x45cae8
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x1b8]
push eax
mov ecx, esi
call fcn.0040b070
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x1d
jne 0x45cb0e
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea ecx, [ebp - 0x47c]
push ecx
mov ecx, esi
call fcn.0045ad60
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x1e
jne 0x45cb32
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov edx, dword [esi]
mov eax, dword [edx + 0x160]
push edi
push esi
call eax
cmp eax, edi
jge 0x45cb50
push 0x4b3a68
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x47c]
cmp eax, edi
mov byte [ebp - 4], 0x1d
je 0x45cb66
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1b8]
cmp eax, edi
mov byte [ebp - 4], 0x1c
je 0x45cb7c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x554]
cmp eax, edi
mov byte [ebp - 4], 0x1b
je 0x45cb92
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1c0]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45cba8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x1d0]
push eax
mov ecx, ebx
call fcn.0045abd0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x1f
jne 0x45cbca
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
lea edx, [ebp - 0x620]
push edx
call fcn.0045aa90
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x20
jne 0x45cbec
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x1c8]
push eax
mov ecx, esi
call fcn.0040b070
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x21
jne 0x45cc12
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x4c]
lea edx, [ebp - 0x484]
push edx
push esi
call eax
cmp eax, edi
jge 0x45cc33
push 0x4b3c70
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x1c8]
cmp eax, edi
mov ecx, dword [ebp - 0x484]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 4], 0x20
je 0x45cc52
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x620]
cmp eax, edi
mov byte [ebp - 4], 0x1f
je 0x45cc68
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1d0]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45cc7e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x55c]
push eax
mov ecx, ebx
call fcn.0045abd0
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x22
jne 0x45cca0
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
lea edx, [ebp - 0x1d8]
push edx
call fcn.0045aa90
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x23
jne 0x45ccc2
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x48c]
push eax
mov ecx, esi
call fcn.0040b070
mov esi, eax
cmp dword [esi], edi
mov byte [ebp - 4], 0x24
jne 0x45cce8
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x50]
push edi
push esi
call edx
cmp eax, edi
jge 0x45cd03
push 0x4b3c70
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x48c]
cmp eax, edi
mov byte [ebp - 4], 0x23
je 0x45cd19
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x1d8]
cmp eax, edi
mov byte [ebp - 4], 0x22
je 0x45cd2f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x55c]
cmp eax, edi
mov byte [ebp - 4], 7
je 0x45cd45
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [ebp + 0x54]
cmp dword [ebx + 0x114], edi
jne 0x45cd5a
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x114]
lea eax, [ebp - 0x1e0]
push eax
call fcn.004034e0
mov eax, dword [eax]
cmp dword [ebx + 0x118], eax
je 0x45cd9a
cmp eax, edi
mov esi, dword [ebx + 0x118]
mov dword [ebx + 0x118], eax
je 0x45cd8e
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
cmp esi, edi
je 0x45cd9a
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov eax, dword [ebp - 0x1e0]
cmp eax, edi
je 0x45cdac
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp dword [ebx + 0x118], edi
jne 0x45cdbe
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x118]
push 5
lea edx, [ebp - 0xa40]
push edx
call fcn.004018a0
mov edi, eax
cmp dword [ebx + 0x118], 0
mov byte [ebp - 4], 0x25
jne 0x45cdeb
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x118]
lea eax, [ebp - 0x5d8]
push eax
call fcn.0040b3e0
mov esi, eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax]
lea edx, [ebp - 0x494]
push edx
push eax
mov eax, dword [ecx + 0xb4]
mov byte [ebp - 4], 0x26
call eax
test eax, eax
jge 0x45ce2b
mov ecx, dword [ebp + 0x44]
push 0x4b481c
push ecx
push eax
call fcn.0049fa90
cmp dword [esi], 0
fld dword [ebp - 0x494]
fstp dword [ebp - 0x24]
jne 0x45ce43
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov edx, dword [esi]
mov ecx, dword [edx + 0x64]
lea eax, [ebp - 0x1e8]
push eax
push esi
call ecx
test eax, eax
jge 0x45ce64
push 0x4b3c60
push esi
push eax
call fcn.0049fa90
fld dword [ebp - 0x1e8]
mov ecx, edi
fstp dword [ebp + 0x38]
call fcn.0040ad40
mov dword [ebp], eax
fild dword [ebp]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.0046e220
fsub dword [ebp - 0x24]
mov eax, dword [ebp - 0x5d8]
test eax, eax
mov byte [ebp - 4], 0x25
fsub dword [ebp + 0x38]
fstp dword [ebp - 0x1c]
je 0x45cea4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [ebp - 0xa40]
push ecx
mov byte [ebp - 4], 7
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [ebx + 0x118], 0
jne 0x45cec8
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x118]
lea edx, [ebp - 0x49c]
push edx
call fcn.0040b3e0
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x27
jne 0x45ceef
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov eax, dword [esi]
mov edx, dword [eax + 0x6c]
lea ecx, [ebp - 0x1f0]
push ecx
push esi
call edx
test eax, eax
jge 0x45cf10
push 0x4b3c60
push esi
push eax
call fcn.0049fa90
fld dword [ebp - 0x1c]
mov eax, dword [ebp - 0x49c]
test eax, eax
fsub dword [ebp - 0x1f0]
mov byte [ebp - 4], 7
fstp dword [ebp - 0x1c]
je 0x45cf32
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
fldz
fstp dword [ebp - 0xa4]
cmp dword [ebx + 0x118], 0
jne 0x45cf4d
push 0x80004003
call fcn.0049fa80
mov ecx, dword [ebx + 0x118]
lea eax, [ebp - 0x208]
push eax
call fcn.0040b340
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x28
jne 0x45cf74
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea ecx, [ebp - 0x4a4]
push ecx
mov ecx, esi
call fcn.004039b0
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x29
jne 0x45cf9b
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea edx, [ebp - 0x200]
push edx
mov ecx, esi
call fcn.00403a00
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x2a
jne 0x45cfc0
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea eax, [ebp - 0x564]
push eax
mov ecx, esi
call fcn.0040f920
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x2b
jne 0x45cfe5
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x20]
lea edx, [ebp - 0x1f8]
push edx
push esi
call eax
test eax, eax
jge 0x45d006
push 0x4b3d88
push esi
push eax
call fcn.0049fa90
cmp dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x564]
setne bl
test eax, eax
mov byte [ebp - 4], 0x2a
je 0x45d026
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x200]
test eax, eax
mov byte [ebp - 4], 0x29
je 0x45d03c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x4a4]
test eax, eax
mov byte [ebp - 4], 0x28
je 0x45d052
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x208]
test eax, eax
mov byte [ebp - 4], 7
je 0x45d068
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test bl, bl
mov edi, dword [ebp + 0x54]
je 0x45d0e3
cmp dword [edi + 0x118], 0
push 1
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x1c]
push ecx
jne 0x45d08f
push 0x80004003
call fcn.0049fa80
mov ecx, dword [edi + 0x118]
lea edx, [ebp - 0x65c]
push edx
call fcn.0040b340
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x2c
jne 0x45d0b6
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
push ecx
mov eax, esp
mov dword [ebp + 0x50], esp
push 1
push eax
call fcn.004039b0
mov ecx, edi
call fcn.0043ec60
mov eax, dword [ebp - 0x65c]
test eax, eax
mov byte [ebp - 4], 7
je 0x45d0e3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [edi + 0x114], 0
jne 0x45d0f6
push 0x80004003
call fcn.0049fa80
mov ecx, dword [edi + 0x114]
lea eax, [ebp - 0x4ac]
push eax
call fcn.004034e0
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x2d
jne 0x45d11d
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea ecx, [ebp - 0x210]
push ecx
mov ecx, esi
call fcn.0040b3e0
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x2e
jne 0x45d142
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov eax, dword [ebp + 8]
mov edx, dword [esi]
mov ecx, dword [edx + 0x38]
push eax
push esi
call ecx
test eax, eax
jge 0x45d160
push 0x4b3c60
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x210]
test eax, eax
mov byte [ebp - 4], 0x2d
je 0x45d176
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x4ac]
test eax, eax
mov byte [ebp - 4], 7
je 0x45d18c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [ebp + 0x44]
lea eax, [ebp - 0x4b4]
push eax
mov ecx, edi
call fcn.0045abd0
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x2f
jne 0x45d1b2
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
lea edx, [ebp - 0x220]
push edx
call fcn.0045aa90
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x30
jne 0x45d1d5
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x56c]
push eax
mov ecx, esi
call fcn.0040b070
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x31
jne 0x45d1fc
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
lea ecx, [ebp - 0x218]
push ecx
mov ecx, esi
call fcn.0045ad60
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x32
jne 0x45d221
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov eax, dword [ebp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [edx + 0x160]
push eax
push esi
call ecx
test eax, eax
jge 0x45d242
push 0x4b3a68
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x218]
test eax, eax
mov byte [ebp - 4], 0x31
je 0x45d258
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x56c]
test eax, eax
mov byte [ebp - 4], 0x30
je 0x45d26e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x220]
test eax, eax
mov byte [ebp - 4], 0x2f
je 0x45d284
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x4b4]
test eax, eax
mov byte [ebp - 4], 7
je 0x45d29a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [ebp - 0x230]
push eax
mov ecx, edi
call fcn.0045abd0
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x33
jne 0x45d2bd
push 0x80004003
call fcn.0049fa80
mov ecx, dword [esi]
lea edx, [ebp - 0x5e4]
push edx
call fcn.0045aa90
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x34
jne 0x45d2e0
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
push 1
lea eax, [ebp - 0x228]
push eax
mov ecx, esi
call fcn.0040b070
mov esi, eax
cmp dword [esi], 0
mov byte [ebp - 4], 0x35
jne 0x45d307
push 0x80004003
call fcn.0049fa80
mov esi, dword [esi]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi]
mov eax, dword [ecx + 0x50]
push edx
push esi
call eax
test eax, eax
jge 0x45d325
push 0x4b3c70
push esi
push eax
call fcn.0049fa90
mov eax, dword [ebp - 0x228]
test eax, eax
mov byte [ebp - 4], 0x34
je 0x45d33b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x5e4]
test eax, eax
mov byte [ebp - 4], 0x33
je 0x45d351
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x230]
test eax, eax
mov byte [ebp - 4], 7
je 0x45d367
mov esi, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x454]
mov ebx, dword [ebp - 0x45c]
add esi, 1
jmp 0x45c37f
cmp dword [ebp - 0x60], 0
mov byte [ebp - 4], 6
je 0x46464c
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebp + 0x48], 0
mov byte [ebp - 4], 5
je 0x464661
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebp + 0x14], 0
mov byte [ebp - 4], 4
je 0x464676
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test edi, edi
mov byte [ebp - 4], 3
je 0x46468e
add dword [edi + 4], 0xffffffff
jne 0x46468e
mov eax, dword [edi]
mov edx, dword [eax]
push 1
mov ecx, edi
call edx
test ebx, ebx
mov byte [ebp - 4], 2
je 0x4646a6
add dword [ebx + 4], 0xffffffff
jne 0x4646a6
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
mov eax, dword [ebp - 0x134]
test eax, eax
mov byte [ebp - 4], 1
je 0x4646c4
add dword [eax + 4], 0xffffffff
jne 0x4646c4
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
cmp dword [ebp + 0x44], 0
mov byte [ebp - 4], 0
je 0x4646d9
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp dword [ebp + 0x78], 0
mov dword [ebp - 4], 0xffffffff
je 0x4646f1
mov eax, dword [ebp + 0x78]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x6c]
xor ecx, ebp
call fcn.0049ec62
add ebp, 0x70
mov esp, ebp
pop ebp
ret 8