Function at 0x5c776f
Capabilities:
Check http status code

Disassembly:
mov eax, 0x8b06b6
call fcn.00879bb8
sub esp, 0x204
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], ebx
call fcn.005c8935
test eax, eax
jne 0x5c891e
push dword [esi + 0x3d8]
lea edi, [esi + 0x3d8]
lea eax, [esi + 0x3d0]
push eax
call fcn.004cd670
cmp eax, ebx
pop ecx
pop ecx
je 0x5c77bf
push dword [edi]
lea eax, [esi + 0x3d0]
push eax
call fcn.004cd670
cmp eax, 3
pop ecx
pop ecx
jne 0x5c891e
mov ecx, esi
call fcn.005d04ff
test eax, eax
jne 0x5c891e
cmp dword [esi + 0x2f8], ebx
je 0x5c77e5
mov ecx, esi
call fcn.005d053d
test eax, eax
je 0x5c891e
mov eax, dword [0x978358]
push 1
lea ecx, [ebp - 0x108]
push ecx
lea ecx, [eax + 0x78]
mov dword [ebp - 0x2c], eax
call fcn.0043f3d6
mov eax, dword [esi + 0x78]
cmp eax, ebx
je 0x5c7a14
mov ecx, dword [ebp + 8]
sub ecx, eax
js 0x5c7a14
mov dword [ebp - 0x10], ebx
or dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x1c], ebx
jl 0x5c7840
push 0x20
pop eax
call fcn.0087a1b0
mov eax, esp
push 0xa
push eax
push dword [ebp - 0x1c]
call fcn.0087a25a
add esp, 0xc
mov dword [ebp - 0x30], eax
jmp 0x5c7847
mov dword [ebp - 0x30], 0x97812c
mov eax, dword [esi + 0x80]
cmp eax, ebx
je 0x5c7855
mov edi, dword [eax]
jmp 0x5c7857
xor edi, edi
push 0x3bf
lea eax, [ebp - 0x14]
push eax
mov ecx, 0x97bc68
call fcn.00679d86
push dword [ebp - 0x30]
mov eax, dword [eax]
push edi
push eax
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 4], 1
call fcn.0041354c
add esp, 0x10
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], bl
call fcn.00402676
mov edi, 0x980690
push edi
lea ecx, [ebp - 0x78]
call fcn.00403191
push edi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 2
call fcn.00403191
push ebx
push ebx
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x88]
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 3
call fcn.00411641
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.004033a1
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 3
call fcn.00405a1d
mov ecx, eax
call fcn.00402660
mov ecx, eax
call fcn.00404a02
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.004032b4
cmp eax, ebx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x18], ebx
je 0x5c791f
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x18]
call fcn.00404b30
cmp eax, ebx
jge 0x5c791f
cmp eax, 0x80004002
je 0x5c791f
push eax
call fcn.00878dfb
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 9
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c793a
push eax
call fcn.00878dfb
lea eax, [ebp - 0x88]
push eax
mov byte [ebp - 4], 8
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7955
push eax
call fcn.00878dfb
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 7
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c796d
push eax
call fcn.00878dfb
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x5c79f8
call fcn.0040cf4d
test eax, eax
je 0x5c79f5
cmp dword [esi + 0x274], ebx
jne 0x5c7997
mov eax, dword [esi + 0x15c]
cmp dword [eax + 0x194], ebx
jne 0x5c79a0
cmp dword [esi + 0x7c], ebx
jne 0x5c79a0
xor eax, eax
jmp 0x5c79a3
push 1
pop eax
push ebx
push ebx
push ebx
push eax
lea ecx, [ebp - 0x10]
call fcn.00411641
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
push eax
call fcn.004033a1
lea eax, [ebp - 0x50]
push eax
mov ecx, esi
call fcn.005ca3b4
mov eax, dword [ebp - 0x50]
cmp eax, ebx
je 0x5c79d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
cmp eax, ebx
mov byte [ebp - 4], bl
je 0x5c79e3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x7fffffff
jle 0x5c781e
jmp 0x5c7a05
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
mov byte [ebp - 4], bl
je 0x5c7a05
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
mov dword [esi + 0x78], ebx
call fcn.00402676
mov esi, dword [esi + 0xa4]
cmp esi, ebx
je 0x5c855f
jmp 0x5c7a27
mov esi, dword [ebp - 0x30]
mov ecx, esi
mov eax, esi
mov edx, esi
add esi, 0xfffffff0
neg eax
sbb eax, eax
and eax, esi
mov eax, dword [eax + 4]
mov esi, eax
add eax, 0x10
neg esi
sbb esi, esi
and esi, eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x30], esi
mov esi, dword [ebp + 8]
sub esi, eax
mov dword [ebp - 0x18], ecx
js 0x5c7a68
mov eax, dword [ebp - 0x24]
push edx
lea ecx, [eax + 0x98]
call fcn.005d15b8
jmp 0x5c8556
mov edx, dword [ebp + 8]
sub edx, dword [ecx]
js 0x5c8556
mov ecx, dword [ebp - 0x18]
add ecx, 0x1c
cmp dword [ecx], ebx
jne 0x5c815e
mov dword [ebp - 0x10], ebx
push 0x3b1
lea eax, [ebp - 0x50]
push eax
mov ecx, 0x97bc68
mov dword [ebp - 4], 0xa
call fcn.00679d86
mov eax, dword [eax]
push ebx
lea ecx, [ebp - 0x10]
push ecx
push eax
mov byte [ebp - 4], 0xb
call fcn.00437222
add esp, 0xc
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xa
call fcn.00402676
mov esi, dword [sym.imp.oleaut32.dll_VariantInit]
lea eax, [ebp - 0xc8]
push eax
call esi
mov edi, 0x980690
lea eax, [ebp - 0xc8]
push edi
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c7aeb
push eax
call fcn.00878dfb
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 0xc
call esi
lea eax, [ebp - 0xb8]
push edi
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c7b11
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov byte [ebp - 4], 0xd
jne 0x5c7b29
push 0x80004003
call fcn.00878dfb
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0xc]
sub esp, 0x10
mov ecx, dword [ecx + 8]
mov edi, esp
lea esi, [ebp - 0xc8]
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 - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push edx
mov dword [ebp - 0x38], ecx
push dword [ebp - 0x38]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
cmp eax, ebx
jge 0x5c7b75
push 0x963de8
push dword [ebp - 0x14]
push eax
call fcn.00878e09
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 0xc
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7b90
push eax
call fcn.00878dfb
lea eax, [ebp - 0xc8]
push eax
mov byte [ebp - 4], 0xa
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7bab
push eax
call fcn.00878dfb
lea eax, [ebp - 0xe8]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
lea eax, [ebp - 0xe8]
push 0x980690
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c7bd5
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
push 3
push eax
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0xe
call fcn.004031b7
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov byte [ebp - 4], 0xf
jne 0x5c7c05
push 0x80004003
call fcn.00878dfb
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ecx + 0x14]
sub esp, 0x10
mov ecx, dword [ecx + 0x10]
mov edi, esp
lea esi, [ebp - 0xe8]
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 - 0x158]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push edx
mov dword [ebp - 0x38], ecx
push dword [ebp - 0x38]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
cmp eax, ebx
jge 0x5c7c51
push 0x963de8
push dword [ebp - 0x14]
push eax
call fcn.00878e09
lea eax, [ebp - 0x158]
push eax
mov byte [ebp - 4], 0xe
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7c6c
push eax
call fcn.00878dfb
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 4], 0xa
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7c87
push eax
call fcn.00878dfb
mov esi, dword [ebp - 0x18]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 8]
mov edx, ecx
imul edx, ecx
mov dword [ebp - 0x20], ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
mov dword [ebp - 0x38], edx
push ecx
fild dword [ebp - 0x38]
push ecx
mov dword [ebp - 0x14], eax
fstp qword [esp]
call fcn.0087af44
cmp dword [ebp - 0x10], ebx
fstp qword [ebp - 0x3c]
pop ecx
pop ecx
jne 0x5c7ccc
push 0x80004003
call fcn.00878dfb
fild dword [ebp - 0x14]
push ecx
push ecx
mov edi, dword [ebp - 0x10]
fdiv qword [ebp - 0x3c]
fchs
fstp qword [esp]
push ecx
fild dword [ebp - 0x20]
push ecx
fdiv qword [ebp - 0x3c]
fchs
fstp qword [esp]
call fcn.0087af10
fmul qword [0x8e8ad0]
mov eax, dword [edi]
add esp, 8
fld st(0)
fstp qword [esp]
push edi
fstp st(0)
call dword [eax + 0x80]
cmp eax, ebx
jge 0x5c7d17
push 0x963de8
push edi
push eax
call fcn.00878e09
cmp dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
jne 0x5c7d29
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x10]
call fcn.0042fae2
fcomp qword [0x8e8ac8]
fnstsw ax
sahf
ja 0x5c7d5e
cmp dword [ebp - 0x10], ebx
jne 0x5c7d4b
push 0x80004003
call fcn.00878dfb
mov ecx, dword [ebp - 0x10]
call fcn.0042fae2
fcomp qword [0x8ecb50]
fnstsw ax
sahf
jae 0x5c7d65
mov dword [ebp - 0x14], 1
mov edi, dword [sym.imp.oleaut32.dll_VariantInit]
lea eax, [ebp - 0x128]
push eax
call edi
lea eax, [ebp - 0x128]
push 0x980690
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c7d91
push eax
call fcn.00878dfb
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x10
call edi
lea eax, [ebp - 0x148]
push 0x980690
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c7dbb
push eax
call fcn.00878dfb
push ebx
push ebx
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x148]
push eax
push ecx
lea eax, [esi + 0x20]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
mov byte [ebp - 4], 0x11
call fcn.004059fd
lea eax, [ebp - 0x198]
push eax
mov byte [ebp - 4], 0x11
call fcn.00405a1d
mov ecx, eax
call fcn.00402660
mov ecx, eax
call fcn.00404a02
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.004032b4
cmp eax, ebx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x1c], ebx
je 0x5c7e2e
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404b30
cmp eax, ebx
jge 0x5c7e2e
cmp eax, 0x80004002
je 0x5c7e2e
push eax
call fcn.00878dfb
lea eax, [ebp - 0x198]
push eax
mov byte [ebp - 4], 0x17
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7e49
push eax
call fcn.00878dfb
lea eax, [ebp - 0x148]
push eax
mov byte [ebp - 4], 0x16
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7e64
push eax
call fcn.00878dfb
lea eax, [ebp - 0x128]
push eax
mov byte [ebp - 4], 0x15
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7e7f
push eax
call fcn.00878dfb
mov ecx, dword [ebp - 0x1c]
cmp ecx, ebx
je 0x5c7fe6
call fcn.0040cf4d
test eax, eax
je 0x5c7fe6
mov eax, dword [ebp - 0x24]
push ebx
push 0xff
lea ecx, [eax + 0x440]
call fcn.00424e27
mov ecx, eax
call fcn.004320e3
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x20], esp
push ebx
call fcn.00424e0a
push ebx
push ebx
push ecx
lea eax, [ebp - 0x10]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call fcn.00433bdf
push ebx
push ecx
lea eax, [ebp - 0x1c]
mov ecx, esp
mov dword [ebp - 0x20], esp
push eax
call fcn.00424dbc
lea eax, [ebp - 0x54]
push eax
call fcn.0042e5bf
add esp, 0x28
push dword [eax]
lea ecx, [esi + 0x1c]
mov dword [ebp - 0x20], ecx
call fcn.00434bfb
mov eax, dword [ebp - 0x54]
cmp eax, ebx
je 0x5c7f06
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0xf8]
push eax
call edi
mov esi, 0x980690
lea eax, [ebp - 0xf8]
push esi
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c7f2d
push eax
call fcn.00878dfb
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 0x18
call edi
lea eax, [ebp - 0x118]
push esi
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c7f53
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x20]
cmp dword [eax], ebx
mov byte [ebp - 4], 0x19
jne 0x5c7f68
push 0x80004003
call fcn.00878dfb
sub esp, 0x10
mov eax, dword [ebp - 0x18]
mov edi, esp
lea esi, [ebp - 0xf8]
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 - 0x118]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add eax, 0x1c
mov eax, dword [eax]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push 0x20
push eax
mov dword [ebp - 0x20], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x110]
cmp eax, ebx
jge 0x5c7fae
push 0x963df8
push dword [ebp - 0x20]
push eax
call fcn.00878e09
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 0x18
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7fc9
push eax
call fcn.00878dfb
lea eax, [ebp - 0xf8]
push eax
mov byte [ebp - 4], 0x15
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c7fef
push eax
call fcn.00878dfb
jmp 0x5c7fef
push ebx
lea ecx, [esi + 0x1c]
call fcn.00434bfb
cmp dword [ebp - 0x1c], ebx
je 0x5c8141
push ebx
push ecx
mov eax, esp
mov dword [ebp - 0x20], esp
push 0xaae
push eax
mov ecx, 0x97bc68
call fcn.00679e4e
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x15
call fcn.0040263d
mov ecx, eax
call fcn.004048a4
push eax
mov byte [ebp - 4], 0x1b
call fcn.00412550
mov esi, eax
lea eax, [ebp - 0xd8]
cmp esi, ebx
push eax
setne byte [ebp - 0x25]
mov byte [ebp - 4], 0x15
call fcn.00402bc3
add esp, 0xc
cmp eax, ebx
jge 0x5c8058
push eax
call fcn.00878dfb
cmp byte [ebp - 0x25], bl
je 0x5c8141
cmp dword [ebp - 0x14], ebx
push 3
je 0x5c80cc
push esi
lea ecx, [ebp - 0x178]
call fcn.004031b7
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov byte [ebp - 4], 0x1c
jne 0x5c808c
push 0x80004003
call fcn.00878dfb
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
fldz
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x178]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x20], eax
call dword [ecx + 0xa0]
cmp eax, ebx
jge 0x5c80c0
push 0x963de8
push dword [ebp - 0x20]
push eax
call fcn.00878e09
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x178]
jmp 0x5c8130
neg esi
push esi
lea ecx, [ebp - 0x168]
call fcn.004031b7
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov byte [ebp - 4], 0x1d
jne 0x5c80f2
push 0x80004003
call fcn.00878dfb
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
fldz
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x168]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
fstp qword [esp]
push eax
mov dword [ebp - 0x20], eax
call dword [ecx + 0xa0]
cmp eax, ebx
jge 0x5c8126
push 0x963de8
push dword [ebp - 0x20]
push eax
call fcn.00878e09
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x168]
push eax
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c8141
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
mov byte [ebp - 4], 0xa
je 0x5c8152
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
jmp 0x5c83ae
sub eax, dword [ebp + 8]
cmp eax, 0xc8
jg 0x5c83b8
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x1c], ebx
lea esi, [eax + 0x1c]
jne 0x5c8181
push 0x80004003
call fcn.00878dfb
mov ecx, dword [esi]
lea eax, [ebp - 0x40]
push eax
call fcn.004113e5
mov esi, eax
cmp dword [esi], ebx
mov dword [ebp - 4], 0x1e
jne 0x5c81a3
push 0x80004003
call fcn.00878dfb
mov ecx, dword [esi]
lea eax, [ebp - 0x188]
push eax
call fcn.004308ad
push ebx
push ebx
mov ecx, eax
mov byte [ebp - 4], 0x1f
call fcn.004032b4
neg eax
sbb al, al
inc al
mov byte [ebp - 0x25], al
lea eax, [ebp - 0x188]
push eax
mov byte [ebp - 4], 0x1e
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c81e2
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x40]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x5c81f3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp byte [ebp - 0x25], bl
je 0x5c83b8
mov dword [ebp - 0x10], ebx
push 0x3b1
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x97bc68
mov dword [ebp - 4], 0x20
call fcn.00679d86
mov eax, dword [eax]
push ebx
lea ecx, [ebp - 0x10]
push ecx
push eax
mov byte [ebp - 4], 0x21
call fcn.00437222
add esp, 0xc
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x20
call fcn.00402676
mov eax, dword [ebp - 0x10]
mov word [ebp - 0x138], 0xd
mov dword [ebp - 0x130], eax
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov eax, dword [ebp - 0x18]
cmp dword [eax + 0x1c], ebx
lea esi, [eax + 0x1c]
mov byte [ebp - 4], 0x22
jne 0x5c826a
push 0x80004003
call fcn.00878dfb
mov ecx, dword [esi]
lea eax, [ebp - 0x34]
push eax
call fcn.004113e5
mov esi, eax
cmp dword [esi], ebx
mov byte [ebp - 4], 0x23
jne 0x5c8289
push 0x80004003
call fcn.00878dfb
mov eax, dword [esi]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x138]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x20], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
cmp eax, ebx
jge 0x5c82b5
push 0x963de8
push dword [ebp - 0x20]
push eax
call fcn.00878e09
mov eax, dword [ebp - 0x34]
cmp eax, ebx
mov byte [ebp - 4], 0x22
je 0x5c82c6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x138]
push eax
mov byte [ebp - 4], 0x20
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c82e1
push eax
call fcn.00878dfb
lea eax, [ebp - 0x78]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
lea eax, [ebp - 0x78]
push 0x980690
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c8305
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 4]
push 3
push eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x24
call fcn.004031b7
mov eax, dword [ebp - 0x10]
cmp eax, ebx
mov byte [ebp - 4], 0x25
jne 0x5c8335
push 0x80004003
call fcn.00878dfb
mov eax, dword [ebp - 0x10]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0xa8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
movsd dword es:[edi], dword [esi]
push 0xffffff01
push eax
mov dword [ebp - 0x20], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
cmp eax, ebx
jge 0x5c8374
push 0x963de8
push dword [ebp - 0x20]
push eax
call fcn.00878e09
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 0x24
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c838f
push eax
call fcn.00878dfb
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 4], 0x20
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c83a7
push eax
call fcn.00878dfb
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
cmp eax, ebx
je 0x5c83b8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.oleaut32.dll_VariantInit]
lea eax, [ebp - 0x88]
push 0x980690
push eax
call fcn.00402e32
cmp eax, ebx
pop ecx
pop ecx
jge 0x5c83e2
push eax
call fcn.00878dfb
mov eax, dword [ebp - 0x18]
add eax, 0x1c
cmp dword [eax], ebx
mov dword [ebp - 4], 0x26
jne 0x5c83fd
push 0x80004003
call fcn.00878dfb
mov eax, dword [ebp - 0x18]
sub esp, 0x10
mov edi, esp
push ebx
push ebx
lea esi, [ebp - 0x88]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0x44]
push edx
lea edx, [ebp - 0x48]
push edx
push ebx
movsd dword es:[edi], dword [esi]
push ebx
push ebx
add eax, 0x1c
mov eax, dword [eax]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push ebx
push eax
mov dword [ebp - 0x20], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x8c]
mov esi, eax
cmp esi, ebx
jge 0x5c8442
push 0x963de8
push dword [ebp - 0x20]
push esi
call fcn.00878e09
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x88]
push eax
call fcn.00402bc3
cmp eax, ebx
pop ecx
jge 0x5c845d
push eax
call fcn.00878dfb
cmp esi, ebx
jl 0x5c8556
push dword [ebp - 0x44]
lea eax, [ebp - 0x108]
push dword [ebp - 0x48]
push eax
call dword [fcn.0097b57c]
test eax, eax
je 0x5c84a0
mov esi, dword [ebp - 0x18]
mov edx, dword [esi + 0x18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
neg edx
push ebx
sbb edx, edx
and edx, 0xfffffffe
inc edx
push edx
push dword [esi + 0x24]
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
push ebx
call dword [eax + pe_nt_image_headers32]
jmp 0x5c84a3
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x98], eax
inc eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x94], ecx
lea eax, [ebp - 0x60]
inc ecx
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x2c]
push eax
call fcn.007b021d
cmp eax, ebx
jle 0x5c8504
lea edi, [ebp - 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push eax
push dword [esi + 0x24]
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
call fcn.0067d844
add edi, 4
dec dword [ebp - 0x14]
jne 0x5c84e0
mov ecx, dword [0x97813c]
push 1
push ebx
push ebx
push ebx
push ebx
push 0xf
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.005d528b
cmp eax, ebx
jle 0x5c8556
lea edi, [ebp - 0x1d4]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push eax
push dword [esi + 0x24]
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
call 0x5d054c
add edi, 4
dec dword [ebp - 0x14]
jne 0x5c8532
cmp dword [ebp - 0x30], ebx
jne 0x5c7a24
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0xb8]
cmp eax, ebx
je 0x5c891e
mov edi, dword [ebp - 0x2c]
mov esi, eax
mov ecx, eax
mov dword [ebp - 0x40], eax
add eax, 0xfffffff0
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ecx + 4]
mov ecx, eax
add eax, 0x10
neg ecx
sbb ecx, ecx
and eax, ecx
mov ecx, dword [ebp + 8]
sub ecx, dword [esi]
mov dword [ebp - 0x30], eax
js 0x5c8916
mov eax, dword [ebp - 0x24]
push dword [esi + 0x1c]
mov ecx, dword [eax + 0x15c]
call fcn.004e67c9
cmp eax, ebx
mov dword [ebp - 0x14], eax
je 0x5c85d7
cmp dword [eax + 0x70], ebx
je 0x5c85d7
fld qword [0x8eacd8]
push ebx
push ebx
push ebx
push 1
push ecx
push ecx
mov ecx, dword [0x97810c]
fstp qword [esp]
call fcn.0042dc18
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5c8726
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0xd8]
push eax
call dword [0x97b5a0]
test eax, eax
je 0x5c8654
mov ecx, dword [ebp - 0x2c]
lea eax, [ebp - 0x34]
push eax
call fcn.00486ada
mov edi, dword [eax]
lea eax, [edi - 0xc]
neg edi
sbb edi, edi
and edi, eax
mov eax, dword [ebp - 0x34]
cmp eax, ebx
je 0x5c8622
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], ebx
je 0x5c8632
cmp dword [edi + 0x110], ebx
je 0x5c8651
mov edx, dword [esi + 0x18]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
neg edx
push ebx
sbb edx, edx
and edx, 0xfffffffe
inc edx
push edx
push dword [esi + 0x1c]
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
push ebx
call dword [eax + pe_nt_image_headers32]
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x60]
push eax
lea eax, [esi + 8]
push eax
mov ecx, edi
call fcn.007b021d
cmp eax, ebx
jle 0x5c86ce
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
call fcn.005c894f
mov edi, dword [eax]
lea eax, [edi - 0xc]
neg edi
sbb edi, edi
and edi, eax
mov eax, dword [ebp - 0x4c]
cmp eax, ebx
je 0x5c8696
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x24], ebx
je 0x5c86a6
cmp dword [edi + 0x110], ebx
je 0x5c86c5
mov eax, dword [esi + 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push eax
push dword [esi + 0x1c]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x24]
mov ecx, dword [eax]
push ebx
push ebx
push ebx
call fcn.0067d844
add dword [ebp - 0x1c], 4
dec dword [ebp - 0x18]
jne 0x5c8670
mov ecx, dword [0x97813c]
push 1
push ebx
push ebx
push ebx
push ebx
push 0xf
lea eax, [ebp - 0x1d4]
push eax
lea eax, [esi + 8]
push eax
call fcn.005d528b
cmp eax, ebx
jle 0x5c88ff
lea edi, [ebp - 0x1d4]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push eax
push dword [esi + 0x1c]
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
call 0x5d054c
add edi, 4
dec dword [ebp - 0x14]
jne 0x5c86fd
jmp 0x5c88ff
cmp eax, 3
je 0x5c8839
cmp eax, 4
je 0x5c8839
mov eax, dword [esi + 8]
mov ecx, eax
and eax, 3
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0xd78]
shr ecx, 2
and eax, 0x3fffffff
cmp ecx, eax
jne 0x5c87fa
cmp dword [ebp - 0x1c], ebx
jne 0x5c8781
mov ecx, dword [esi + 0x18]
mov eax, dword [edi]
neg ecx
push ebx
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
push ecx
push dword [esi + 0x1c]
mov ecx, edi
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
push ebx
call dword [eax + pe_nt_image_headers32]
jmp 0x5c88ff
mov ecx, dword [0x978368]
lea eax, [ebp - 0x58]
push eax
call fcn.00455c59
mov eax, dword [eax + 4]
push dword [ebp - 0x1c]
mov dword [ebp - 4], 0x27
push eax
call fcn.00653cc5
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x68]
push eax
mov ecx, edi
call fcn.00794f23
mov edi, dword [eax + 4]
lea ecx, [ebp - 0x68]
call fcn.005d0fed
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x54], ebx
je 0x5c87d1
push ebx
lea ecx, [ebp - 0x58]
call fcn.0045e7c2
mov dword [ebp - 0x54], ebx
cmp edi, ebx
je 0x5c88ff
mov eax, dword [esi + 0x18]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push eax
push dword [esi + 0x1c]
mov ecx, edi
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
call fcn.0067d844
jmp 0x5c88ff
cmp dword [ebp - 0x1c], 3
jne 0x5c88ff
push ecx
mov ecx, dword [0x97813c]
call fcn.004308f4
cmp eax, ebx
je 0x5c88ff
mov ecx, dword [esi + 0x18]
neg ecx
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
push ecx
push dword [esi + 0x1c]
mov ecx, eax
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
call 0x5d054c
jmp 0x5c88ff
lea eax, [esi + 8]
push eax
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0xd8]
push eax
call dword [0x97b5a0]
test eax, eax
je 0x5c8873
mov ecx, dword [esi + 0x18]
mov eax, dword [edi]
neg ecx
push ebx
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
push ecx
push dword [esi + 0x1c]
mov ecx, edi
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
push ebx
call dword [eax + pe_nt_image_headers32]
lea eax, [ebp - 0x48]
push eax
lea eax, [esi + 8]
push eax
mov ecx, edi
call fcn.007b021d
cmp eax, ebx
jle 0x5c88b0
lea edi, [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push eax
push dword [esi + 0x1c]
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
call fcn.0067d844
add edi, 4
dec dword [ebp - 0x14]
jne 0x5c888c
mov ecx, dword [0x97813c]
push 1
push ebx
push ebx
push ebx
push ebx
push 0xf
lea eax, [ebp - 0x210]
push eax
lea eax, [esi + 8]
push eax
call fcn.005d528b
cmp eax, ebx
jle 0x5c88ff
lea edi, [ebp - 0x210]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
neg eax
sbb eax, eax
and eax, 0xfffffffe
inc eax
push eax
push dword [esi + 0x1c]
push dword [ebp - 0x24]
push ebx
push ebx
push ebx
call 0x5d054c
add edi, 4
dec dword [ebp - 0x14]
jne 0x5c88db
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x40]
lea ecx, [eax + 0xac]
call fcn.005d1742
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
cmp eax, ebx
jne 0x5c8573
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x21c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4