Function at 0x7ae52b
Capabilities:
Parse pe header

Disassembly:
mov eax, 0xac64fa
call fcn.00a6fc7c
sub esp, 0x94
push ebx
push esi
push edi
mov esi, ecx
lea ecx, [esi + 0x168]
xor edi, edi
push edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x40], ecx
call fcn.00429919
call dword [fcn.00be18d4]
mov dword [esi + 0x178], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x17c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, edi
je 0x7afc57
cmp byte [eax], 0
je 0x7afc57
mov ecx, dword [0xbd8fe4]
push 1
push dword [esi + 0xb4]
lea eax, [ebp - 0x5c]
push eax
call fcn.004116ce
push 0x50
push ecx
mov eax, esp
mov dword [ebp + 0x10], esp
push 0x62b
push eax
mov dword [ebp - 4], edi
call fcn.007a48d0
mov ecx, eax
call fcn.00406368
and byte [ebp - 4], 0
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x5c]
call fcn.0040263b
mov ecx, eax
call fcn.00403ac7
push eax
mov byte [ebp - 4], 2
call fcn.00415344
and byte [ebp - 4], 0
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x70]
push eax
call fcn.004029b7
add esp, 0xc
cmp eax, edi
jge 0x7ae5f1
push eax
call fcn.00a6ef01
push 0x14
mov ecx, 0xbe1de0
call fcn.00402d66
mov ebx, eax
cmp ebx, edi
je 0x7ae626
push 0xc
push edi
push ebx
mov dword [ebx], 0xafe3f0
call fcn.00a70120
mov eax, dword [ebp + 0xc]
add esp, 0xc
mov dword [ebx], 0xaff060
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], edi
jmp 0x7ae628
xor ebx, ebx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x54], ebx
call fcn.005f2437
push edi
push edi
lea eax, [esi + 0x16c]
push eax
lea eax, [esi + 0x170]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push dword [ebp + 8]
mov byte [ebp - 4], 3
call fcn.00429460
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
call fcn.00462afb
mov ecx, eax
call fcn.009a9f72
mov ebx, 0xbe7330
push ebx
lea ecx, [ebp - 0x3c]
mov dword [esi + 0x174], eax
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.0040318f
cmp dword [0xbe2788], edi
mov byte [ebp - 4], 6
jne 0x7ae69f
push 0x80004003
call fcn.00a6ef01
mov ecx, dword [0xbe2788]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [esi + 0x174]
push 0xa
add eax, 0x5c
push eax
mov eax, dword [ebp + 0xc]
add eax, 0x26
push eax
push edi
push edi
lea eax, [ebp + 8]
push eax
call fcn.00427eb3
push dword [eax]
mov ecx, dword [ebp - 0x40]
call fcn.00429919
lea ecx, [ebp + 8]
call fcn.00415ceb
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 5
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7ae6f5
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 3
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7ae70d
push eax
call fcn.00a6ef01
mov esi, dword [esi + 0x14c]
push 1
push esi
lea ecx, [ebp - 0x2c]
call fcn.00411fe1
mov eax, dword [ebp - 0x40]
cmp dword [eax], edi
mov byte [ebp - 4], 7
jne 0x7ae733
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x1c]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, 0x168
mov eax, dword [eax]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp + 8], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0x7ae764
push 0xba0500
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 3
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7ae77c
push eax
call fcn.00a6ef01
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi + 0xd8]
push 1
push eax
lea ecx, [ebp - 0x2c]
call fcn.00411fe1
cmp dword [esi + 0x168], 0
lea eax, [esi + 0x168]
mov byte [ebp - 4], 8
jne 0x7ae7ad
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x1c]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, 0x168
mov eax, dword [eax]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp + 8], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0xfc]
test eax, eax
jge 0x7ae7e1
push 0xba0510
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 3
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7ae7f9
push eax
call fcn.00a6ef01
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x168], 0
lea edi, [eax + 0x168]
jne 0x7ae815
push 0x80004003
call fcn.00a6ef01
mov esi, dword [edi]
mov eax, dword [esi]
push 0xffffffffffffffff
push esi
call dword [eax + 0xe0]
test eax, eax
jge 0x7ae832
push 0xba0510
push esi
push eax
call fcn.00a6ef0f
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.0040318f
cmp dword [edi], 0
mov byte [ebp - 4], 0xa
jne 0x7ae85b
push 0x80004003
call fcn.00a6ef01
sub esp, 0x10
mov edi, esp
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
add eax, 0x168
mov eax, dword [eax]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push 0
push eax
mov dword [ebp + 8], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0x7ae89f
push 0xba0500
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 9
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7ae8b7
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 3
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7ae8cf
push eax
call fcn.00a6ef01
mov edi, dword [ebp - 0x1c]
cmp dword [edi + 0x168], 0
lea esi, [edi + 0x168]
mov dword [ebp - 0x40], esi
jne 0x7ae8ee
push 0x80004003
call fcn.00a6ef01
push 0xffffffffffffffa6
pop eax
sub eax, dword [edi + 0x174]
mov esi, dword [esi]
sub eax, dword [ebp + 0x10]
mov ecx, dword [esi]
push eax
mov eax, dword [ebp + 0xc]
push 0xfffffffffffffffe
pop edi
cdq
idiv edi
push eax
push esi
call dword [ecx + 0x44]
xor edi, edi
cmp eax, edi
jge 0x7ae91f
push 0xba0378
push esi
push eax
call fcn.00a6ef0f
push 3
push edi
lea ecx, [ebp - 0x90]
call fcn.004031b5
mov esi, dword [ebp - 0x40]
cmp dword [esi], edi
mov byte [ebp - 4], 0xb
jne 0x7ae942
push 0x80004003
call fcn.00a6ef01
mov ecx, dword [esi]
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00426f74
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0xd
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7ae96f
push eax
call fcn.00a6ef01
mov dword [ebp - 0x18], edi
lea eax, [ebp + 0x10]
push 0x4db
push eax
mov byte [ebp - 4], 0xe
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0xf
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x10
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0xf
je 0x7ae9d0
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov byte [ebp - 4], 0xe
je 0x7ae9e5
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x70]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x11
call fcn.0040318f
push edi
push edi
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x12
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 8], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0x12
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.004032b2
cmp eax, edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], edi
je 0x7aea6d
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
cmp eax, edi
jge 0x7aea6d
cmp eax, 0x80004002
je 0x7aea6d
push eax
call fcn.00a6ef01
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0x18
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aea88
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0x17
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aeaa0
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aeab8
push eax
call fcn.00a6ef01
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov eax, dword [ebp - 0x10]
cmp eax, edi
mov byte [ebp - 4], 0x19
jne 0x7aead9
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
push 0
push eax
mov dword [ebp + 8], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x80]
test eax, eax
jge 0x7aeb0a
push 0xba0338
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
xor edi, edi
cmp eax, edi
pop ecx
jge 0x7aeb24
push eax
call fcn.00a6ef01
lea eax, [ebp + 0x10]
push 0x4dc
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x1a
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x1b
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x1a
je 0x7aeb7e
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov byte [ebp - 4], 0x16
je 0x7aeb93
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x1c
call fcn.0040318f
push edi
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1d
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x1d
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x1f
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
cmp eax, edi
jge 0x7aec11
cmp eax, 0x80004002
je 0x7aec11
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x1d
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aec29
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x1c
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aec41
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aec59
push eax
call fcn.00a6ef01
cmp dword [ebp + 0xc], edi
mov dword [ebp + 8], edi
jle 0x7aecdb
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov eax, dword [ebp - 0x10]
test eax, eax
mov byte [ebp - 4], 0x20
jne 0x7aec82
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
add edx, 0x13
push edx
push eax
mov dword [ebp + 0x10], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x80]
test eax, eax
jge 0x7aecb8
push 0xba0338
push dword [ebp + 0x10]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7aecd0
push eax
call fcn.00a6ef01
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jl 0x7aec61
lea eax, [ebp + 0x10]
push 0x4dd
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x21
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x22
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x21
je 0x7aed35
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
test eax, eax
mov byte [ebp - 4], 0x16
je 0x7aed4a
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x23
call fcn.0040318f
push 0
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x24
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x24
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
test eax, eax
jge 0x7aedca
cmp eax, 0x80004002
je 0x7aedca
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x24
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7aede2
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x23
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7aedfa
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7aee12
push eax
call fcn.00a6ef01
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov eax, dword [ebp - 0x10]
test eax, eax
mov byte [ebp - 4], 0x27
jne 0x7aee33
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [eax]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
add ecx, 0x13
movsd dword es:[edi], dword [esi]
push ecx
push eax
mov dword [ebp + 8], eax
movsd dword es:[edi], dword [esi]
call dword [edx + 0x80]
test eax, eax
jge 0x7aee69
push 0xba0338
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
xor edi, edi
cmp eax, edi
pop ecx
jge 0x7aee83
push eax
call fcn.00a6ef01
lea eax, [ebp + 0x10]
push 0x4df
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x28
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x29
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x28
je 0x7aeedd
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov byte [ebp - 4], 0x16
je 0x7aeef2
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x2a
call fcn.0040318f
push edi
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2b
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x2b
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x2d
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
cmp eax, edi
jge 0x7aef70
cmp eax, 0x80004002
je 0x7aef70
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x2b
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aef88
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x2a
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aefa0
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7aefb8
push eax
call fcn.00a6ef01
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x174], edi
mov dword [ebp + 8], edi
jle 0x7af04a
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov eax, dword [ebp - 0x10]
test eax, eax
mov byte [ebp - 4], 0x2e
jne 0x7aefeb
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add edx, 0x15
push edx
movsd dword es:[edi], dword [esi]
push 0
push eax
mov dword [ebp + 0x10], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x80]
test eax, eax
jge 0x7af021
push 0xba0338
push dword [ebp + 0x10]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af039
push eax
call fcn.00a6ef01
inc dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x174]
jl 0x7aefca
lea eax, [ebp + 0x10]
push 0x4de
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x2f
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x30
call fcn.004170a6
mov eax, dword [ebp + 8]
xor esi, esi
add esp, 0xc
cmp eax, esi
mov byte [ebp - 4], 0x2f
je 0x7af0a6
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
cmp eax, esi
mov byte [ebp - 4], 0x16
je 0x7af0bb
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x31
call fcn.0040318f
push esi
push esi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x32
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x32
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x34
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
cmp eax, esi
jge 0x7af139
cmp eax, 0x80004002
je 0x7af139
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x32
call fcn.004029b7
cmp eax, esi
pop ecx
jge 0x7af151
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x31
call fcn.004029b7
cmp eax, esi
pop ecx
jge 0x7af169
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
cmp eax, esi
pop ecx
jge 0x7af181
push eax
call fcn.00a6ef01
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x174], esi
mov dword [ebp + 8], esi
jle 0x7af21c
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov eax, dword [ebp - 0x10]
test eax, eax
mov byte [ebp - 4], 0x35
jne 0x7af1b4
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
mov edx, dword [eax]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
add ecx, 0x15
movsd dword es:[edi], dword [esi]
push ecx
mov ecx, dword [ebp + 0xc]
movsd dword es:[edi], dword [esi]
add ecx, 0x13
push ecx
push eax
mov dword [ebp + 0x10], eax
movsd dword es:[edi], dword [esi]
call dword [edx + 0x80]
test eax, eax
jge 0x7af1ef
push 0xba0338
push dword [ebp + 0x10]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af207
push eax
call fcn.00a6ef01
inc dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 0x174]
jl 0x7af193
lea eax, [ebp + 0x10]
push 0x4e1
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x36
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x37
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x36
je 0x7af276
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
test eax, eax
mov byte [ebp - 4], 0x16
je 0x7af28b
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x38
call fcn.0040318f
push 0
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x39
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x39
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x3b
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
test eax, eax
jge 0x7af30b
cmp eax, 0x80004002
je 0x7af30b
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x39
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af323
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x38
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af33b
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af353
push eax
call fcn.00a6ef01
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov ecx, dword [ebp - 0x10]
test ecx, ecx
mov byte [ebp - 4], 0x3c
jne 0x7af374
push 0x80004003
call fcn.00a6ef01
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x174]
mov edx, dword [ecx]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, 0x15
push eax
movsd dword es:[edi], dword [esi]
push 0
push ecx
mov dword [ebp + 8], ecx
movsd dword es:[edi], dword [esi]
call dword [edx + 0x80]
test eax, eax
jge 0x7af3b0
push 0xba0338
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
xor edi, edi
cmp eax, edi
pop ecx
jge 0x7af3ca
push eax
call fcn.00a6ef01
lea eax, [ebp + 0x10]
push 0x4e2
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x3d
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x3e
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x3d
je 0x7af424
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov byte [ebp - 4], 0x16
je 0x7af439
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x3f
call fcn.0040318f
push edi
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x40
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x40
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x42
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
cmp eax, edi
jge 0x7af4b7
cmp eax, 0x80004002
je 0x7af4b7
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x40
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7af4cf
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x3f
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7af4e7
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7af4ff
push eax
call fcn.00a6ef01
cmp dword [ebp + 0xc], edi
mov dword [ebp + 8], edi
jle 0x7af594
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov ecx, dword [ebp - 0x10]
test ecx, ecx
mov byte [ebp - 4], 0x43
jne 0x7af52c
push 0x80004003
call fcn.00a6ef01
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x174]
mov edx, dword [ecx]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
add eax, 0x15
movsd dword es:[edi], dword [esi]
push eax
mov eax, dword [ebp + 8]
movsd dword es:[edi], dword [esi]
add eax, 0x13
push eax
push ecx
mov dword [ebp + 0x10], ecx
movsd dword es:[edi], dword [esi]
call dword [edx + 0x80]
test eax, eax
jge 0x7af56d
push 0xba0338
push dword [ebp + 0x10]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af585
push eax
call fcn.00a6ef01
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jl 0x7af50b
lea eax, [ebp + 0x10]
push 0x4e3
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x44
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x45
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
mov byte [ebp - 4], 0x44
je 0x7af5ee
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
test eax, eax
mov byte [ebp - 4], 0x16
je 0x7af603
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x46
call fcn.0040318f
push 0
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x47
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x47
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x49
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
test eax, eax
jge 0x7af683
cmp eax, 0x80004002
je 0x7af683
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x47
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af69b
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x46
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af6b3
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af6cb
push eax
call fcn.00a6ef01
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov ecx, dword [ebp - 0x10]
test ecx, ecx
mov byte [ebp - 4], 0x4a
jne 0x7af6ec
push 0x80004003
call fcn.00a6ef01
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x174]
mov edx, dword [ecx]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
add eax, 0x15
movsd dword es:[edi], dword [esi]
push eax
mov eax, dword [ebp + 0xc]
movsd dword es:[edi], dword [esi]
add eax, 0x13
push eax
push ecx
mov dword [ebp + 8], ecx
movsd dword es:[edi], dword [esi]
call dword [edx + 0x80]
test eax, eax
jge 0x7af72d
push 0xba0338
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
xor edi, edi
cmp eax, edi
pop ecx
jge 0x7af747
push eax
call fcn.00a6ef01
lea eax, [ebp + 0x10]
push 0x4e0
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x4b
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x4c
call fcn.004170a6
mov eax, dword [ebp + 8]
add esp, 0xc
cmp eax, edi
mov byte [ebp - 4], 0x4b
je 0x7af7a1
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
mov eax, dword [ebp + 0x10]
cmp eax, edi
mov byte [ebp - 4], 0x16
je 0x7af7b6
add eax, 0xfffffff4
push eax
call fcn.00403382
pop ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x4d
call fcn.0040318f
push edi
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x4e
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x4e
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x50
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
cmp eax, edi
jge 0x7af834
cmp eax, 0x80004002
je 0x7af834
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x4e
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7af84c
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x4d
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7af864
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7af87c
push eax
call fcn.00a6ef01
cmp dword [ebp + 0xc], edi
mov dword [ebp + 8], edi
jle 0x7af938
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x174], edi
mov dword [ebp + 0x10], edi
jle 0x7af929
jmp 0x7af89e
xor edi, edi
push ebx
lea ecx, [ebp - 0x2c]
call fcn.0040318f
mov eax, dword [ebp - 0x10]
cmp eax, edi
mov byte [ebp - 4], 0x51
jne 0x7af8bf
push 0x80004003
call fcn.00a6ef01
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x10]
mov edx, dword [eax]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
add ecx, 0x15
movsd dword es:[edi], dword [esi]
push ecx
mov ecx, dword [ebp + 8]
movsd dword es:[edi], dword [esi]
add ecx, 0x13
push ecx
push eax
mov dword [ebp - 0x60], eax
movsd dword es:[edi], dword [esi]
call dword [edx + 0x80]
test eax, eax
jge 0x7af8fa
push 0xba0338
push dword [ebp - 0x60]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7af912
push eax
call fcn.00a6ef01
inc dword [ebp + 0x10]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [eax + 0x174]
jl 0x7af89c
xor edi, edi
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0xc]
jl 0x7af888
lea eax, [ebp + 0x10]
push 0x4e4
push eax
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
mov esi, eax
lea eax, [ebp + 8]
push 0x140c
push eax
mov byte [ebp - 4], 0x52
call fcn.007a48d0
mov ecx, eax
call fcn.0040634c
push dword [esi]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 4], 0x53
call fcn.004170a6
add esp, 0xc
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x52
call fcn.0040265e
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x16
call fcn.0040265e
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0040318f
push ebx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x54
call fcn.0040318f
push edi
push edi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x55
call fcn.00414b5f
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.0040339f
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x55
call fcn.00406548
mov ecx, eax
call fcn.00402680
mov ecx, eax
call fcn.00404a75
mov ecx, eax
mov byte [ebp - 4], 0x57
call fcn.004032b2
mov dword [ebp + 8], eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0041f042
cmp eax, edi
jge 0x7afa13
cmp eax, 0x80004002
je 0x7afa13
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 0x55
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7afa2b
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x54
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7afa43
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
cmp eax, edi
pop ecx
jge 0x7afa5b
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
lea eax, [ebp - 0x3c]
push ebx
push eax
call fcn.00402c26
cmp eax, edi
pop ecx
pop ecx
jge 0x7afa7b
push eax
call fcn.00a6ef01
mov ecx, dword [ebp - 0x10]
cmp ecx, edi
mov byte [ebp - 4], 0x58
jne 0x7afa93
push 0x80004003
call fcn.00a6ef01
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x174]
mov edx, dword [ecx]
sub esp, 0x10
add eax, 0x23
mov edi, esp
push dword [ebp - 0x14]
lea esi, [ebp - 0x3c]
push eax
mov eax, dword [ebp + 0xc]
movsd dword es:[edi], dword [esi]
mov dword [ebp + 0xc], edx
cdq
movsd dword es:[edi], dword [esi]
sub eax, edx
sar eax, 1
add eax, 0xa
movsd dword es:[edi], dword [esi]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov dword [ebp + 8], ecx
movsd dword es:[edi], dword [esi]
call dword [eax + 0x80]
test eax, eax
jge 0x7afadf
push 0xba0338
push dword [ebp + 8]
push eax
call fcn.00a6ef0f
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7afaf7
push eax
call fcn.00a6ef01
and dword [ebp + 0xc], 0
and dword [ebp + 8], 0
mov edi, dword [sym.imp.oleaut32.dll_VariantInit]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [edx + 0x170]
test ecx, ecx
lea eax, [edx + 0x170]
je 0x7afbf8
mov esi, dword [ebp + 0xc]
cmp esi, dword [ecx - 4]
jae 0x7afbf8
mov esi, dword [ebp + 8]
add esi, ecx
cmp dword [esi], 0
jne 0x7afbec
lea eax, [ebp - 0x2c]
push eax
call edi
lea eax, [ebp - 0x2c]
push ebx
push eax
call fcn.00402c26
test eax, eax
pop ecx
pop ecx
jge 0x7afb52
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x59
call edi
lea eax, [ebp - 0x3c]
push ebx
push eax
call fcn.00402c26
test eax, eax
pop ecx
pop ecx
jge 0x7afb72
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 0x5a
call fcn.0042953b
push eax
lea ecx, [esi + 0x10]
call fcn.00429475
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.00426d6e
mov eax, dword [esi + 0x1c]
add eax, 0x15
push eax
mov eax, dword [esi + 0x18]
add eax, 0x13
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x5a
call fcn.00414a49
mov ecx, eax
call fcn.004289ec
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x59
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7afbd4
push eax
call fcn.00a6ef01
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0x16
call fcn.004029b7
test eax, eax
pop ecx
jge 0x7afbec
push eax
call fcn.00a6ef01
inc dword [ebp + 0xc]
add dword [ebp + 8], 0x44
jmp 0x7afb05
push 0xe
mov ecx, edx
call fcn.007ac9c9
mov eax, dword [ebp - 0x14]
xor esi, esi
cmp eax, esi
mov byte [ebp - 4], 0xe
je 0x7afc14
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xd
call fcn.0040265e
mov eax, dword [ebp - 0x10]
cmp eax, esi
mov byte [ebp - 4], 3
je 0x7afc31
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and byte [ebp - 4], 0
cmp dword [ebp - 0x54], esi
je 0x7afc46
push esi
lea ecx, [ebp - 0x58]
call fcn.00462aff
mov dword [ebp - 0x54], esi
mov eax, dword [ebp - 0x5c]
or dword [ebp - 4], 0xffffffff
cmp eax, esi
je 0x7afc57
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
leave
ret 0xc