Function at 0x402f2d
Capabilities:
Allocate or change rwx memory
Check for software breakpoints
Copy file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 0x14
call fcn.0044b40f
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
push 0x6c
call fcn.0044b40f
add esp, 4
mov dword [ebp - 0x20], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0x1b
rep stosd dword es:[edi], eax
add ebx, 0x68
push ebx
push 0x88
call fcn.0044b40f
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x4ab323
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
mov dword [ebp - 0x24], 0
push 8
call fcn.0044b40f
add esp, 4
mov dword [ebp - 0x28], eax
mov edi, eax
mov esi, 0x4ab2e3
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x2c], 0
push 8
call fcn.0044b40f
add esp, 4
mov dword [ebp - 0x30], eax
mov edi, eax
mov esi, 0x4ab2e3
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov ebx, dword [0x4b2d36]
call fcn.00401c0a
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x406341
xor ecx, ecx
lea eax, [ebp - 4]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 3
jg 0x40633e
cmp dword [ebp - 4], 1
jne 0x40306a
mov eax, 0x4ab30d
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x403061
push ebx
call fcn.0044b409
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4030c1
cmp dword [ebp - 4], 2
jne 0x403093
mov eax, 0x4ab2a0
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x40308a
push ebx
call fcn.0044b409
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4030c1
cmp dword [ebp - 4], 3
jne 0x4030bc
mov eax, 0x4ab317
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4030b3
push ebx
call fcn.0044b409
add esp, 4
pop eax
mov dword [ebp - 8], eax
jmp 0x4030c1
jmp 0x406341
mov ebx, dword [ebp - 0xc]
mov dword [ebp - 0x3c], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 1
lea eax, [ebp - 8]
push eax
call fcn.00406529
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x3c], 0
push 0
lea eax, [ebp - 0x3c]
push eax
mov dword [ebp - 0x40], 0
push 0
lea eax, [ebp - 0x40]
push eax
call fcn.004079a1
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x40310f
push ebx
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40311f
push ebx
call fcn.0044b409
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x403133
push ebx
call fcn.0044b409
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
call fcn.00407ba6
mov dword [ebp - 0x3c], eax
push dword [ebp - 8]
push 0x4ab321
push dword [ebp - 0x3c]
mov ecx, 3
call fcn.00402ed1
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40316a
push ebx
call fcn.0044b409
add esp, 4
mov dword [ebp - 0x44], esp
push 0
push dword [ebp - 0x14]
push dword [ebp - 0x40]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
nop
nop
cmp dword [ebp - 0x44], esp
je 0x40319e
push 0x267
push 0x4020e7c
push 6
call fcn.0044b415
add esp, 0xc
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4031ae
push ebx
call fcn.0044b409
add esp, 4
push SysStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4031c1
mov eax, 0x4ab2e2
push eax
push 1
mov ebx, 0x268
call fcn.0044ca60
add esp, 0x10
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4031eb
push ebx
call fcn.0044b409
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
call fcn.00407c57
mov dword [ebp - 0x1c], eax
push SysStringLen
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x40320e
mov eax, 0x4ab2e2
push eax
push 1
mov ebx, 0x244
call fcn.0044cad0
add esp, 0x10
push 1
push 0
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
call fcn.00407c7b
test eax, eax
je 0x403257
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
cmp word [ebx], 0x10b
jne 0x403257
mov eax, 1
jmp 0x40325c
mov eax, 0
test eax, eax
je 0x406337
mov dword [ebp - 0x24], 0
mov ebx, dword [ebp - 0x20]
add ebx, 0x3c
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov dword [ebp - 0x44], 0
push 0
push dword [ebp - 0x44]
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
push 0x2000
push 0x1000
call fcn.0040801c
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], esp
push 0x40
push dword [ebp - 0x50]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push 0
push 0xffffffff
xor eax, eax
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
nop
nop
cmp dword [ebp - 0x54], esp
je 0x4032f6
push 0x40f
push 0x4020e7c
push 6
call fcn.0044b415
add esp, 0xc
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x20]
add ebx, 0x40
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
call fcn.0040803f
push 8
call fcn.0044b40f
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4ab2e3
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x1c]
call fcn.004081c0
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0044b409
add esp, 4
mov eax, dword [ebp - 0x40]
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x4034c3
mov ebx, dword [ebp - 0x28]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40339b
push 0x4be
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4033b8
push 0x4be
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0
push 0
push dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
push dword [ebp - 0x24]
call fcn.00402a9f
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x28]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x403408
push 0x4f0
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x403425
push 0x4f0
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x4c], 0
push 0
push dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
push dword [ebx]
push dword [ebp - 0x1c]
call fcn.00402a9f
mov dword [ebp - 0x50], eax
mov ebx, dword [ebp - 0x28]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x403475
push 0x4f0
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x403492
push 0x4f0
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], 0
push 0
push dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
push dword [ebx]
push dword [ebp - 0x50]
push dword [ebp - 0x44]
call fcn.0040803f
pop eax
pop ebx
pop ecx
jmp 0x403366
add esp, 0xc
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x24]
call fcn.004087a5
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4034f1
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4034ed
imul eax, dword [ebx]
jmp 0x4034e2
mov ecx, eax
test ecx, ecx
je 0x403519
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0044b409
add esp, 4
pop ebx
call fcn.0044b409
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4034f7
call fcn.0044b409
add esp, 4
mov eax, 0x4ab2e3
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x24]
call fcn.004096c6
xor ecx, ecx
push eax
lea eax, [ebp - 0x2c]
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x40631b
cmp dword [ebp - 4], 1
jne 0x403690
mov ebx, dword [ebp - 0x30]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40357d
push 0x643
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40359a
push 0x643
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 1
push SysStringLen
push 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebx]
test eax, eax
jne 0x4035c8
mov eax, 0x4ab2e2
push eax
push 2
mov ebx, 0x144
call fcn.0044cae0
add esp, 0x1c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x5a
jne 0x40367e
mov ebx, dword [ebp - 0x30]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x40360f
push 0x692
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40362c
push 0x692
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x4c], ebx
push 0x80000301
push 0
push 2
push SysStringLen
push 0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebx]
test eax, eax
jne 0x40365a
mov eax, 0x4ab2e2
push eax
push 2
mov ebx, 0x144
call fcn.0044cae0
add esp, 0x1c
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x77
jne 0x40367e
xor eax, eax
jmp 0x403683
mov eax, 1
test eax, eax
je 0x403690
jmp 0x406313
mov ebx, dword [ebp - 0x30]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4036b7
push 0x71f
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4036d4
push 0x71f
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x3c], ebx
push 8
call fcn.0044b40f
add esp, 4
mov dword [ebp - 0x40], eax
mov edi, eax
mov esi, 0x4ab2e3
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x40]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x3c]
push dword [ebx]
call fcn.0040a2dc
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
push ebx
call fcn.0044b409
add esp, 4
cmp dword [ebp - 0x44], 0
je 0x40376e
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0
cmp eax, ecx
jl 0x403756
push 0x759
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x48], ebx
mov ebx, dword [ebp - 0x48]
cmp byte [ebx], 0xb8
jne 0x40376e
mov eax, 1
jmp 0x403773
mov eax, 0
test eax, eax
je 0x406313
mov ebx, dword [ebp - 0xc]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x30]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x4037ab
push 0x784
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4037c8
push 0x784
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x40], ebx
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebx]
test eax, eax
je 0x4037f3
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
je 0x403806
push ebx
call fcn.0044b409
add esp, 4
pop eax
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0xc]
add ebx, 8
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 3
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403852
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x403886
and eax, 0xff
jmp 0x4038db
cmp ecx, 0x80000201
jne 0x403891
cwde
jmp 0x4038db
cmp ecx, 0x80000301
je 0x4038db
cmp ecx, 0x80000401
je 0x4038db
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4038cb
cmp ecx, 0x80000601
je 0x4038d0
push 0x80c
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4038d6
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [0x4b2d3a]
add ebx, 4
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 5
jne 0x403917
mov ebx, dword [0x4b2d3a]
add ebx, 8
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp dword [ebx], 0
jne 0x403917
mov eax, 1
jmp 0x40391c
mov eax, 0
test eax, eax
je 0x40405d
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 9
cmp eax, ecx
jl 0x40394c
push 0x9cf
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xcd
jne 0x40399d
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xa
cmp eax, ecx
jl 0x403985
push 0x9f8
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x2e
jne 0x40399d
mov eax, 1
jmp 0x4039a2
mov eax, 0
test eax, eax
je 0x404058
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xb
cmp eax, ecx
jl 0x4039d2
push 0xa36
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x403b60
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403a17
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x403a4b
and eax, 0xff
jmp 0x403aa0
cmp ecx, 0x80000201
jne 0x403a56
cwde
jmp 0x403aa0
cmp ecx, 0x80000301
je 0x403aa0
cmp ecx, 0x80000401
je 0x403aa0
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403a90
cmp ecx, 0x80000601
je 0x403a95
push 0xa82
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x403a9b
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403aec
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x403b48
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xb
cmp eax, ecx
jl 0x403b88
push 0xaf2
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x403c54
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403be0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x403c3c
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xb
cmp eax, ecx
jl 0x403c7c
push 0xb63
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe9
jne 0x404058
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0x10
push dword [ebp - 0x38]
call fcn.00402a9f
mov dword [ebp - 0x38], eax
push 0x80000301
push 0
push 0xd
push 0x80000301
push 0
push 3
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403cd4
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x48], 0
push 0
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x403d14
and eax, 0xff
jmp 0x403d69
cmp ecx, 0x80000201
jne 0x403d1f
cwde
jmp 0x403d69
cmp ecx, 0x80000301
je 0x403d69
cmp ecx, 0x80000401
je 0x403d69
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403d59
cmp ecx, 0x80000601
je 0x403d5e
push 0xbfd
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x403d64
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
push eax
push dword [ebp - 0x38]
call fcn.00402a9f
mov dword [ebp - 0x38], eax
push 8
call fcn.0044b40f
add esp, 4
mov dword [ebp - 0x3c], eax
mov edi, eax
mov esi, 0x4ab2e3
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 0
lea eax, [ebp - 0x3c]
push eax
push 0x20
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x38]
call fcn.0040a2dc
mov ebx, dword [ebp - 0x3c]
push ebx
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0
cmp eax, ecx
jl 0x403ddb
push 0xc65
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x403f69
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 2
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x403e20
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x403e54
and eax, 0xff
jmp 0x403ea9
cmp ecx, 0x80000201
jne 0x403e5f
cwde
jmp 0x403ea9
cmp ecx, 0x80000301
je 0x403ea9
cmp ecx, 0x80000401
je 0x403ea9
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x403e99
cmp ecx, 0x80000601
je 0x403e9e
push 0xcb1
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x403ea4
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403ef5
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x403f51
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0
cmp eax, ecx
jl 0x403f91
push 0xd21
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x404058
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x403fe9
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x404045
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
jmp 0x406313
mov ebx, dword [0x4b2d3a]
add ebx, 0x1c
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 0
je 0x405b32
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 5
cmp eax, ecx
jl 0x4040af
push 0xe5c
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x64
jne 0x404139
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 6
cmp eax, ecx
jl 0x4040e8
push 0xe85
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x404139
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 8
cmp eax, ecx
jl 0x404121
push 0xeae
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0xc0
jne 0x404139
mov eax, 1
jmp 0x40413e
mov eax, 0
test eax, eax
je 0x4043eb
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xc
cmp eax, ecx
jl 0x40416e
push 0xf38
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4042fc
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4041b3
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4041e7
and eax, 0xff
jmp 0x40423c
cmp ecx, 0x80000201
jne 0x4041f2
cwde
jmp 0x40423c
cmp ecx, 0x80000301
je 0x40423c
cmp ecx, 0x80000401
je 0x40423c
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40422c
cmp ecx, 0x80000601
je 0x404231
push 0xf84
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x404237
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404288
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4042e4
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xc
cmp eax, ecx
jl 0x404324
push 0xff4
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x4043eb
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40437c
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4043d8
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 5
cmp eax, ecx
jl 0x404413
push 0x10a2
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x33
jne 0x40449d
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 7
cmp eax, ecx
jl 0x40444c
push 0x10cb
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x40449d
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xb
cmp eax, ecx
jl 0x404485
push 0x10f4
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x40449d
mov eax, 1
jmp 0x4044a2
mov eax, 0
test eax, eax
je 0x40494f
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x12
cmp eax, ecx
jl 0x4044d2
push 0x123b
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x404520
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x40450b
push 0x1264
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x404520
xor eax, eax
jmp 0x404525
mov eax, 1
test eax, eax
je 0x4045e8
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404574
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4045d0
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x12
cmp eax, ecx
jl 0x404610
push 0x12d6
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40479e
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404655
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404689
and eax, 0xff
jmp 0x4046de
cmp ecx, 0x80000201
jne 0x404694
cwde
jmp 0x4046de
cmp ecx, 0x80000301
je 0x4046de
cmp ecx, 0x80000401
je 0x4046de
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x4046ce
cmp ecx, 0x80000601
je 0x4046d3
push 0x1322
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4046d9
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40472a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x404786
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x4047c6
push 0x1392
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x40494f
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40480b
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40483f
and eax, 0xff
jmp 0x404894
cmp ecx, 0x80000201
jne 0x40484a
cwde
jmp 0x404894
cmp ecx, 0x80000301
je 0x404894
cmp ecx, 0x80000401
je 0x404894
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404884
cmp ecx, 0x80000601
je 0x404889
push 0x13de
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40488f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4048e0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40493c
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 5
cmp eax, ecx
jl 0x404977
push 0x148b
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x404a01
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 9
cmp eax, ecx
jl 0x4049b0
push 0x14b4
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x33
jne 0x404a01
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xb
cmp eax, ecx
jl 0x4049e9
push 0x14dd
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x404a01
mov eax, 1
jmp 0x404a06
mov eax, 0
test eax, eax
je 0x404eb3
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x12
cmp eax, ecx
jl 0x404a36
push 0x1624
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x404a84
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x404a6f
push 0x164d
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x404a84
xor eax, eax
jmp 0x404a89
mov eax, 1
test eax, eax
je 0x404b4c
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404ad8
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x404b34
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x12
cmp eax, ecx
jl 0x404b74
push 0x16bf
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404d02
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x14
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404bb9
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404bed
and eax, 0xff
jmp 0x404c42
cmp ecx, 0x80000201
jne 0x404bf8
cwde
jmp 0x404c42
cmp ecx, 0x80000301
je 0x404c42
cmp ecx, 0x80000401
je 0x404c42
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404c32
cmp ecx, 0x80000601
je 0x404c37
push 0x170b
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x404c3d
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404c8e
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x404cea
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x404d2a
push 0x177b
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x404eb3
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404d6f
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404da3
and eax, 0xff
jmp 0x404df8
cmp ecx, 0x80000201
jne 0x404dae
cwde
jmp 0x404df8
cmp ecx, 0x80000301
je 0x404df8
cmp ecx, 0x80000401
je 0x404df8
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x404de8
cmp ecx, 0x80000601
je 0x404ded
push 0x17c7
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x404df3
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x404e44
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x404ea0
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 5
cmp eax, ecx
jl 0x404edb
push 0x1887
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xb9
jne 0x404f65
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xa
cmp eax, ecx
jl 0x404f14
push 0x18b0
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0x8d
jne 0x404f65
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xe
cmp eax, ecx
jl 0x404f4d
push 0x18d9
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x404f65
mov eax, 1
jmp 0x404f6a
mov eax, 0
test eax, eax
je 0x4054f0
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x404fa6
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x404fda
and eax, 0xff
jmp 0x40502f
cmp ecx, 0x80000201
jne 0x404fe5
cwde
jmp 0x40502f
cmp ecx, 0x80000301
je 0x40502f
cmp ecx, 0x80000401
je 0x40502f
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40501f
cmp ecx, 0x80000601
je 0x405024
push 0x1a1d
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40502a
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x40505c
push 0x1a6b
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4050aa
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x18
cmp eax, ecx
jl 0x405095
push 0x1a94
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4050aa
xor eax, eax
jmp 0x4050af
mov eax, 1
test eax, eax
je 0x405172
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4050fe
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40515a
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x40519a
push 0x1b06
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405328
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4051df
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x405213
and eax, 0xff
jmp 0x405268
cmp ecx, 0x80000201
jne 0x40521e
cwde
jmp 0x405268
cmp ecx, 0x80000301
je 0x405268
cmp ecx, 0x80000401
je 0x405268
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x405258
cmp ecx, 0x80000601
je 0x40525d
push 0x1b52
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x405263
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4052b4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x405310
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x18
cmp eax, ecx
jl 0x405350
push 0x1bc2
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x4054de
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x405395
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x4053c9
and eax, 0xff
jmp 0x40541e
cmp ecx, 0x80000201
jne 0x4053d4
cwde
jmp 0x40541e
cmp ecx, 0x80000301
je 0x40541e
cmp ecx, 0x80000401
je 0x40541e
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40540e
cmp ecx, 0x80000601
je 0x405413
push 0x1c0e
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x405419
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40546a
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x4054c6
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 5
cmp eax, ecx
jl 0x405518
push 0x1ce7
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x8d
jne 0x4055a2
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 9
cmp eax, ecx
jl 0x405551
push 0x1d10
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xb9
jne 0x4055a2
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xe
cmp eax, ecx
jl 0x40558a
push 0x1d39
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x4c], ebx
mov ebx, dword [ebp - 0x4c]
cmp byte [ebx], 0x64
jne 0x4055a2
mov eax, 1
jmp 0x4055a7
mov eax, 0
test eax, eax
je 0x405b2d
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xb
push 0x80000301
push 0
push 3
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4055e3
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x405617
and eax, 0xff
jmp 0x40566c
cmp ecx, 0x80000201
jne 0x405622
cwde
jmp 0x40566c
cmp ecx, 0x80000301
je 0x40566c
cmp ecx, 0x80000401
je 0x40566c
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x40565c
cmp ecx, 0x80000601
je 0x405661
push 0x1e7d
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x405667
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x405699
push 0x1ecb
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
je 0x4056e7
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x18
cmp eax, ecx
jl 0x4056d2
push 0x1ef4
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xc3
je 0x4056e7
xor eax, eax
jmp 0x4056ec
mov eax, 1
test eax, eax
je 0x4057af
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x40573b
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x405797
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x15
cmp eax, ecx
jl 0x4057d7
push 0x1f66
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405965
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x17
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x40581c
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x405850
and eax, 0xff
jmp 0x4058a5
cmp ecx, 0x80000201
jne 0x40585b
cwde
jmp 0x4058a5
cmp ecx, 0x80000301
je 0x4058a5
cmp ecx, 0x80000401
je 0x4058a5
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x405895
cmp ecx, 0x80000601
je 0x40589a
push 0x1fb2
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x4058a0
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4058f1
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40594d
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0x18
cmp eax, ecx
jl 0x40598d
push 0x2022
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405b1b
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0x1a
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4059d2
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x405a06
and eax, 0xff
jmp 0x405a5b
cmp ecx, 0x80000201
jne 0x405a11
cwde
jmp 0x405a5b
cmp ecx, 0x80000301
je 0x405a5b
cmp ecx, 0x80000401
je 0x405a5b
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x405a4b
cmp ecx, 0x80000601
je 0x405a50
push 0x206e
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x405a56
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405aa7
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x405b03
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], 0
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 5
cmp eax, ecx
jl 0x405b5a
push 0x2149
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xe8
jne 0x405f65
push 0x80000301
push 0
push 7
push 0x80000301
push 0
push 3
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x405b96
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
cmp ecx, 0x80000101
jne 0x405bca
and eax, 0xff
jmp 0x405c1f
cmp ecx, 0x80000201
jne 0x405bd5
cwde
jmp 0x405c1f
cmp ecx, 0x80000301
je 0x405c1f
cmp ecx, 0x80000401
je 0x405c1f
mov dword [ebp - 0x4c], eax
cmp ecx, 0x80000501
je 0x405c0f
cmp ecx, 0x80000601
je 0x405c14
push 0x22f5
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x4c]
jmp 0x405c1a
mov dword [ebp - 0x48], edx
fld qword [ebp - 0x4c]
call fcn.004027be
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jle 0x405c3d
cmp dword [ebp - 0x38], 0xa
jge 0x405c3d
mov eax, 1
jmp 0x405c42
mov eax, 0
test eax, eax
je 0x405f60
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push 0xd
push dword [ebp - 0x38]
call fcn.00402a9f
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
push ebx
push ecx
mov eax, dword [ebp - 0x38]
dec eax
jns 0x405c8d
push 0x23d9
push 0x4020e7c
push 4
call fcn.0044b415
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x405caa
push 0x23d9
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xf
jne 0x405f60
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xa
cmp eax, ecx
jl 0x405ce3
push 0x2417
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x405e71
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xc
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x405d28
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x405d5c
and eax, 0xff
jmp 0x405db1
cmp ecx, 0x80000201
jne 0x405d67
cwde
jmp 0x405db1
cmp ecx, 0x80000301
je 0x405db1
cmp ecx, 0x80000401
je 0x405db1
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x405da1
cmp ecx, 0x80000601
je 0x405da6
push 0x2463
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x405dac
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405dfd
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x405e59
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xa
cmp eax, ecx
jl 0x405e99
push 0x24d3
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x405f60
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x405ef1
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x405f4d
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 5
cmp eax, ecx
jl 0x405f8d
push 0x25aa
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xba
jne 0x405fde
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xa
cmp eax, ecx
jl 0x405fc6
push 0x25d3
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xff
jne 0x405fde
mov eax, 1
jmp 0x405fe3
mov eax, 0
test eax, eax
je 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xb
cmp eax, ecx
jl 0x406013
push 0x2752
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0x12
je 0x406061
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xb
cmp eax, ecx
jl 0x40604c
push 0x277b
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x44], ebx
mov ebx, dword [ebp - 0x44]
cmp byte [ebx], 0xd2
je 0x406061
xor eax, eax
jmp 0x406066
mov eax, 1
test eax, eax
je 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xc
cmp eax, ecx
jl 0x406096
push 0x27b9
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc2
jne 0x406224
mov ebx, dword [ebp - 0xc]
add ebx, 0xc
mov dword [ebp - 0x3c], ebx
push 0x80000301
push 0
push 0xe
push 0x80000301
push 0
push 2
push VariantCopy
push 0
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4060db
mov eax, 0x4ab2e3
push eax
push 3
mov ebx, 0x19c
call fcn.0044cc20
add esp, 0x28
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp ecx, 0x80000101
jne 0x40610f
and eax, 0xff
jmp 0x406164
cmp ecx, 0x80000201
jne 0x40611a
cwde
jmp 0x406164
cmp ecx, 0x80000301
je 0x406164
cmp ecx, 0x80000401
je 0x406164
mov dword [ebp - 0x50], eax
cmp ecx, 0x80000501
je 0x406154
cmp ecx, 0x80000601
je 0x406159
push 0x2805
push 0x4020e7c
push 2
call fcn.0044b415
add esp, 0xc
fld dword [ebp - 0x50]
jmp 0x40615f
mov dword [ebp - 0x4c], edx
fld qword [ebp - 0x50]
call fcn.004027be
mov ebx, dword [ebp - 0x3c]
mov dword [ebx], eax
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4061b0
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x40620c
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
mov ebx, dword [ebp - 0x34]
call fcn.004011ef
mov eax, 0xc
cmp eax, ecx
jl 0x40624c
push 0x2875
push 0x4020e7c
push 1
call fcn.0044b415
add esp, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp byte [ebx], 0xc3
jne 0x406313
push 0x4b2d36
push 4
mov eax, 2
call fcn.0044c050
add esp, 8
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x3c], eax
mov ebx, dword [0x4b2d36]
mov dword [ebp - 0x40], ebx
call fcn.004011ef
mov dword [ebp - 0x44], ecx
mov edi, dword [ebp - 0x40]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x4062a4
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x44]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x40]
call fcn.0044b42d
add esp, 8
mov dword [0x4b2d36], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x44]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x3c]
push edi
push eax
push 0x14
call fcn.0044b40f
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x406300
push eax
mov ebx, eax
call fcn.00402e66
inc eax
push eax
call fcn.0044b40f
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
mov ecx, 3
rep movsd dword es:[edi], dword [esi]
pop eax
pop edi
mov dword [edi], eax
jmp 0x406313
pop eax
pop ebx
pop ecx
jmp 0x40353e
add esp, 0xc
mov dword [ebp - 0x3c], 0
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push 0xffffffff
call fcn.0040a3d6
pop ebx
pop ecx
jmp 0x403033
add esp, 8
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406351
push ebx
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x406368
push ebx
call fcn.0044b409
add esp, 4
pop ebx
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406381
push ebx
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406391
push ebx
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x20]
push ebx
add ebx, 0x68
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0044b409
add esp, 4
pop ebx
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x28]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x4063cb
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x4063c7
imul eax, dword [ebx]
jmp 0x4063bc
mov ecx, eax
test ecx, ecx
je 0x4063f3
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0044b409
add esp, 4
pop ebx
call fcn.0044b409
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x4063d1
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x30]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x406419
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x406415
imul eax, dword [ebx]
jmp 0x40640a
mov ecx, eax
test ecx, ecx
je 0x406470
push ecx
push ebx
mov ebx, dword [ebx]
push ebx
add ebx, 8
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x406437
push ebx
call fcn.0044b409
add esp, 4
pop ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40644b
push ebx
call fcn.0044b409
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x40645f
push ebx
call fcn.0044b409
add esp, 4
pop ebx
call fcn.0044b409
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40641f
call fcn.0044b409
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x406488
push ebx
call fcn.0044b409
add esp, 4
mov esp, ebp
pop ebp
ret