Function at 0x534780
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5df674
mov eax, dword fs:[0]
push eax
sub esp, 0xbe0
push ebx
push esi
push edi
mov eax, dword [0x680f10]
xor eax, esp
push eax
lea eax, [esp + 0xbf0]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor esi, esi
cmp edi, esi
jne 0x5347d3
xor eax, eax
mov ecx, dword [esp + 0xbf0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
mov edx, dword [eax]
mov ecx, edi
call edx
cmp eax, 5
jne 0x5347e8
mov ebx, edi
mov dword [esp + 0x24], ebx
jmp 0x534804
mov eax, dword [edi]
mov edx, dword [eax]
mov ecx, edi
call edx
cmp eax, 6
jne 0x5347bb
push 1
mov ecx, edi
call fcn.004b53e0
mov ebx, eax
mov dword [esp + 0x24], eax
cmp ebx, esi
je 0x5347bb
push str.ShadingType
lea ecx, [esp + 0x6c]
mov dword [esp + 0x14], esi
call fcn.0048cd50
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
mov dword [esp + 0xbfc], esi
call fcn.004b7a30
cmp dword [esp + 0x84], 0x10
mov esi, eax
mov dword [esp + 0xbf8], 0xffffffff
mov dword [esp + 0x68], 0x5f1558
jb 0x534859
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004274fc
add esp, 4
test esi, esi
mov dword [esp + 0x84], 0xf
mov dword [esp + 0x80], 0
mov byte [esp + 0x70], 0
mov dword [esp + 0x68], 0x5f13d0
je 0x534890
mov ecx, esi
call fcn.004b57f0
call fcn.0044eb60
mov dword [esp + 0x10], eax
push str.ColorSpace
lea ecx, [esp + 0x6c]
call fcn.0048cd50
lea edx, [esp + 0x68]
push edx
mov ecx, ebx
mov dword [esp + 0xbfc], 1
call fcn.004b7950
cmp dword [esp + 0x84], 0x10
mov esi, eax
mov dword [esp + 0xbf8], 0xffffffff
mov dword [esp + 0x68], 0x5f1558
jb 0x5348e1
mov eax, dword [esp + 0x70]
push eax
call fcn.004274fc
add esp, 4
test esi, esi
mov dword [esp + 0x84], 0xf
mov dword [esp + 0x80], 0
mov byte [esp + 0x70], 0
mov dword [esp + 0x68], 0x5f13d0
je 0x5347bb
push 0x635aa7
lea ecx, [esp + 0x180]
call fcn.0048cd50
mov ecx, dword [edi + 4]
mov dword [esp + 0xbf8], 2
call fcn.004648c0
push eax
push 0
lea ecx, [esp + 0x184]
push ecx
push esi
call fcn.004adaf0
mov esi, eax
add esp, 0x10
lea ecx, [esp + 0x17c]
mov dword [esp + 0xb4], esi
mov dword [esp + 0xbf8], 0xffffffff
call fcn.004b36e0
test esi, esi
je 0x5347bb
movzx eax, byte [ebp + 0x10]
shl eax, 0x18
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
xor esi, esi
sub eax, 2
mov dword [esp + 0xc4], esi
je 0x535538
sub eax, 1
jne 0x536421
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
fldz
lea edx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0xbfc], 0xe
call fcn.004d8840
fldz
lea eax, [esp + 0x1c]
fstp qword [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
call fcn.004d8840
fldz
lea ecx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
call fcn.004d8840
fldz
lea edx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push edx
lea ecx, [esp + 0x30]
call fcn.004d8840
fldz
lea eax, [esp + 0x1c]
fstp qword [esp + 0x1c]
push eax
lea ecx, [esp + 0x30]
call fcn.004d8840
fldz
lea ecx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
call fcn.004d8840
push str.Coords
lea ecx, [esp + 0xe0]
call fcn.0048cd50
lea edx, [esp + 0xdc]
push edx
mov ecx, ebx
mov byte [esp + 0xbfc], 0xf
call fcn.004b7950
lea ecx, [esp + 0xdc]
mov ebx, eax
mov byte [esp + 0xbf8], 0xe
call fcn.004b36e0
cmp ebx, esi
je 0x534ac9
mov eax, dword [ebx]
mov edx, dword [eax]
mov ecx, ebx
call edx
cmp eax, 4
jne 0x534ac9
lea ecx, [esp + 0x2c]
xor edi, edi
call fcn.004ae740
test eax, eax
jbe 0x534ac9
push edi
mov ecx, ebx
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x534ab9
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
cmp eax, 1
jne 0x534ab9
push edi
lea ecx, [esp + 0x30]
call fcn.004ae760
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.004b57f0
mov eax, dword [esp + 0x10]
fstp qword [eax]
lea ecx, [esp + 0x2c]
add edi, 1
call fcn.004ae740
cmp edi, eax
jb 0x534a83
xor esi, esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
fldz
lea ecx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x4c]
mov byte [esp + 0xbfc], 0x10
call fcn.004d8840
fld1
lea edx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push edx
lea ecx, [esp + 0x4c]
call fcn.004d8840
push str.Domain
lea ecx, [esp + 0x1c0]
call fcn.0048cd50
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x1bc]
push eax
mov byte [esp + 0xbfc], 0x11
call fcn.004b7950
mov ebx, eax
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x18], ebx
mov byte [esp + 0xbf8], 0x10
call fcn.004b36e0
cmp ebx, esi
je 0x534bb0
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, ebx
call eax
cmp eax, 4
jne 0x534bb0
xor edi, edi
mov edi, edi
mov ecx, dword [esp + 0x4c]
cmp ecx, esi
je 0x534bb0
mov eax, dword [esp + 0x50]
sub eax, ecx
sar eax, 3
cmp edi, eax
jae 0x534bb0
push edi
mov ecx, ebx
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x534ba9
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 1
jne 0x534ba9
push edi
lea ecx, [esp + 0x4c]
call fcn.004ae760
mov ecx, esi
mov ebx, eax
call fcn.004b57f0
fstp qword [ebx]
mov ebx, dword [esp + 0x18]
add edi, 1
xor esi, esi
jmp 0x534b60
mov dword [esp + 0x88], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
push esi
lea ecx, [esp + 0x8c]
mov byte [esp + 0xbfc], 0x12
call fcn.00534720
push esi
lea ecx, [esp + 0x8c]
call fcn.00534720
push str.Extend
lea ecx, [esp + 0x100]
call fcn.0048cd50
lea ecx, [esp + 0xfc]
push ecx
mov ecx, dword [esp + 0x28]
mov byte [esp + 0xbfc], 0x13
call fcn.004b7950
lea ecx, [esp + 0xfc]
mov ebx, eax
mov byte [esp + 0xbf8], 0x12
call fcn.004b36e0
cmp ebx, esi
je 0x534c9a
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, ebx
call eax
cmp eax, 4
jne 0x534c9a
xor edi, edi
cmp dword [esp + 0x88], edi
jbe 0x534c9a
lea ebx, [ebx]
push edi
mov ecx, ebx
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x534c8e
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
test eax, eax
jne 0x534c8e
mov ecx, esi
call fcn.004b57e0
lea ecx, [esp + 0x238]
push eax
push edi
push ecx
lea ecx, [esp + 0x94]
call fcn.00533fd0
mov ecx, eax
call fcn.00533d90
add edi, 1
cmp edi, dword [esp + 0x88]
jb 0x534c50
push str.Function
lea ecx, [esp + 0x120]
call fcn.0048cd50
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x11c]
push edx
mov byte [esp + 0xbfc], 0x14
call fcn.004b7950
mov esi, eax
lea ecx, [esp + 0x11c]
mov dword [esp + 0x18], esi
mov byte [esp + 0xbf8], 0x12
call fcn.004b36e0
xor edi, edi
cmp esi, edi
je 0x5354be
push 0x40af90
push 0x66
push 4
lea eax, [esp + 0x268]
push eax
call fcn.00408e10
push fcn.0048b450
push 0x4aeb90
push 0x65
push 0x10
lea ecx, [esp + 0x5ac]
push ecx
call fcn.0044badd
fld qword [0x659f58]
xor eax, eax
mov byte [esp + 0xbf8], 0x15
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x10], eax
fdiv st(1)
fstp dword [esp + eax*4 + 0x3f8]
jbe 0x534d2d
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 4
jne 0x534f60
mov ecx, esi
mov dword [esp + 0x24], edi
call fcn.004b5810
test eax, eax
jbe 0x535040
jmp 0x534d74
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, esi
call fcn.004b5830
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
lea edx, [esp + 0x59c]
mov byte [esp + 0xbf8], 0x17
xor ebx, ebx
mov dword [esp + 0x10], edx
jmp 0x534dbb
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
mov edi, eax
jbe 0x534dce
call fcn.0044b7ad
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
mov esi, ecx
jbe 0x534dd9
call fcn.0044b7ad
push edi
lea eax, [esp + 0x5c]
push eax
push esi
push eax
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x6c]
call fcn.004d8130
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
mov esi, eax
jbe 0x534e0d
call fcn.0044b7ad
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
mov edi, ecx
jbe 0x534e18
call fcn.0044b7ad
push esi
lea eax, [esp + 0x6c]
push eax
push edi
push eax
lea ecx, [esp + 0xc8]
push ecx
mov ecx, eax
call fcn.004d8130
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x534e44
mov edx, dword [esp + 0x50]
mov ecx, edx
sub ecx, eax
sar ecx, 3
jne 0x534e51
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
test eax, eax
mov edi, eax
je 0x534e63
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ecx, 1
ja 0x534e70
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
test eax, eax
lea esi, [eax + 8]
je 0x534e7e
sub edx, eax
sar edx, 3
jne 0x534e87
call fcn.0044b7ad
mov eax, dword [esp + 0x4c]
fld dword [esp + ebx*4 + 0x3fc]
lea edx, [esp + 0x3c]
fld qword [esi]
push edx
fsub qword [eax]
lea ecx, [esp + 0x5c]
fmulp st(1)
fadd qword [edi]
fstp qword [esp + 0x40]
call fcn.004d8840
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x5c]
push ecx
push edx
call fcn.0052d020
mov edi, dword [esp + 0x1c]
add esp, 0xc
xor esi, esi
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x534eea
mov eax, dword [esp + 0x70]
sub eax, ecx
sar eax, 3
cmp esi, eax
jae 0x534eea
lea eax, [ecx + esi*8]
push eax
mov ecx, edi
call fcn.004d8840
add esi, 1
jmp 0x534ec5
add ebx, 1
add edi, 0x10
cmp ebx, 0x64
mov dword [esp + 0x10], edi
jbe 0x534db3
test ecx, ecx
je 0x534f0a
push ecx
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x5c]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov byte [esp + 0xbf8], 0x15
je 0x534f31
push eax
call fcn.004274fc
add esp, 4
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
xor eax, eax
add esi, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x24], esi
call fcn.004b5810
cmp esi, eax
jb 0x534d70
jmp 0x535040
xor esi, esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
mov byte [esp + 0xbf8], 0x18
lea ebx, [esp + 0x59c]
lea ecx, [esp + 0x68]
call fcn.004d8190
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x534f9b
mov edx, dword [esp + 0x50]
mov ecx, edx
sub ecx, eax
sar ecx, 3
jne 0x534fa8
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
test eax, eax
mov dword [esp + 0x10], eax
je 0x534fbc
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ecx, 1
ja 0x534fc9
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
test eax, eax
lea edi, [eax + 8]
je 0x534fd7
sub edx, eax
sar edx, 3
jne 0x534fe0
call fcn.0044b7ad
mov eax, dword [esp + 0x4c]
fld dword [esp + esi*4 + 0x3fc]
mov edx, dword [esp + 0x10]
fld qword [edi]
lea ecx, [esp + 0x68]
fsub qword [eax]
lea eax, [esp + 0x3c]
push eax
fmulp st(1)
fadd qword [edx]
fstp qword [esp + 0x40]
call fcn.004d8840
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x6c]
push ecx
push edx
call fcn.0052d020
add esi, 1
add esp, 0xc
add ebx, 0x10
cmp esi, 0x64
jbe 0x534f7d
mov eax, dword [esp + 0x6c]
test eax, eax
mov byte [esp + 0xbf8], 0x15
je 0x535040
push eax
call fcn.004274fc
add esp, 4
lea esi, [esp + 0x59c]
lea edi, [esp + 0x3ec]
mov ebx, 0x65
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push esi
lea edx, [esp + 0xd8]
push edx
call eax
mov eax, dword [eax]
and eax, 0xffffff
or eax, dword [esp + 0x14]
add esi, 0x10
mov dword [edi], eax
sub edi, 4
sub ebx, 1
jne 0x535053
push 1
lea ecx, [esp + 0x254]
push ecx
lea ecx, [esp + 0x90]
call fcn.00533fd0
mov ecx, eax
call fcn.00533dc0
test al, al
je 0x53512c
fld qword [0x659f50]
mov eax, 4
fld qword [0x635ba8]
fld dword [esp + eax + 0x588]
mov edx, dword [esp + eax + 0x3e8]
fdiv st(2)
mov dword [esp + eax + 0x3ec], edx
sub eax, 4
cmp eax, 0xfffffe70
fadd st(1)
fstp dword [esp + eax + 0x590]
jg 0x5350b8
mov ecx, dword [esp + 0x30]
fstp st(0)
fldz
mov eax, dword [esp + 0x260]
xor edi, edi
fstp dword [esp + 0x3fc]
cmp ecx, edi
mov dword [esp + 0x25c], eax
je 0x535113
mov eax, dword [esp + 0x34]
sub eax, ecx
sar eax, 3
cmp eax, 5
ja 0x535124
fstp st(0)
call fcn.0044b7ad
mov ecx, dword [esp + 0x30]
fld qword [0x659f50]
fmul qword [ecx + 0x28]
fstp qword [ecx + 0x28]
jmp 0x53512e
xor edi, edi
lea ecx, [esp + 0x1c]
push ecx
push edi
mov dword [esp + 0x24], edi
call sub.gdiplus.dll_GdipCreatePath
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x30]
cmp ecx, edi
mov byte [esp + 0xbf8], 0x19
je 0x535161
mov edx, dword [esp + 0x34]
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 5
ja 0x53516e
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
cmp ecx, edi
fld qword [ecx + 0x28]
fabs
fstp qword [esp + 0x3c]
je 0x535187
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x535194
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx + 0x10]
fabs
fcomp qword [esp + 0x3c]
fnstsw ax
test ah, 5
mov eax, edx
jp 0x53525f
sub eax, ecx
sar eax, 3
jne 0x5351be
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx]
mov eax, edx
sub eax, ecx
fstp dword [esp + 0x24]
sar eax, 3
cmp eax, 1
ja 0x5351dd
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx + 8]
mov eax, edx
sub eax, ecx
fstp dword [esp + 0x18]
sar eax, 3
cmp eax, 2
ja 0x5351fd
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
cmp ecx, edi
je 0x53520d
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 3
ja 0x53521a
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx + 0x18]
mov eax, edx
sub eax, ecx
fstp dword [esp + 0xac]
sar eax, 3
cmp eax, 4
ja 0x53523d
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx + 0x20]
sub edx, ecx
sar edx, 3
fstp dword [esp + 0x10]
cmp edx, 5
ja 0x535257
call fcn.0044b7ad
mov ecx, dword [esp + 0x30]
fld qword [ecx + 0x28]
jmp 0x53530f
sub eax, ecx
sar eax, 3
cmp eax, 3
ja 0x535276
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx + 0x18]
mov eax, edx
sub eax, ecx
fstp dword [esp + 0x24]
sar eax, 3
cmp eax, 4
ja 0x535296
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx + 0x20]
mov eax, edx
sub eax, ecx
fstp dword [esp + 0x18]
sar eax, 3
cmp eax, 5
ja 0x5352b6
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
cmp ecx, edi
je 0x5352c3
mov eax, edx
sub eax, ecx
sar eax, 3
jne 0x5352d0
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx]
mov eax, edx
sub eax, ecx
fstp dword [esp + 0xac]
sar eax, 3
cmp eax, 1
ja 0x5352f2
call fcn.0044b7ad
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
fld qword [ecx + 8]
sub edx, ecx
sar edx, 3
fstp dword [esp + 0x10]
cmp edx, 2
ja 0x53530c
call fcn.0044b7ad
mov ecx, dword [esp + 0x30]
fld qword [ecx + 0x10]
fabs
fstp dword [esp + 0x14]
fldz
fld dword [esp + 0x14]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x535492
fld st(0)
mov ecx, dword [esp + 0x1c]
fadd st(1)
sub esp, 0x10
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x20]
fsub st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fsubr dword [esp + 0xbc]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push ecx
call sub.gdiplus.dll_GdipAddPathEllipse
cmp eax, edi
je 0x535377
mov dword [esp + 0x20], eax
push 0xc
call sub.gdiplus.dll_GdipAlloc
mov esi, eax
cmp esi, edi
je 0x535494
lea edx, [esp + 0x14]
mov dword [esi + 8], 6
mov dword [esi], 0x635b88
mov eax, dword [esp + 0x1c]
push edx
push eax
mov dword [esp + 0x1c], edi
call sub.gdiplus.dll_GdipCreatePathGradientFromPath
cmp eax, edi
mov ecx, dword [esp + 0x14]
mov dword [esi + 4], ecx
mov dword [esi + 8], edi
jne 0x535486
fld dword [esp + 0x24]
lea edx, [esp + 0xc8]
fstp dword [esp + 0xc8]
push edx
fld dword [esp + 0x1c]
fstp dword [esp + 0xd0]
mov eax, dword [esi + 4]
push eax
call sub.gdiplus.dll_GdipSetPathGradientCenterPoint
cmp eax, edi
je 0x5353e8
mov dword [esi + 8], eax
push 1
lea ecx, [esp + 0x224]
push ecx
lea ecx, [esp + 0x90]
call fcn.00533fd0
mov ecx, eax
call fcn.00533dc0
test al, al
je 0x535435
mov edx, dword [esp + 0x3f0]
mov eax, dword [esi + 4]
push edx
push eax
call sub.gdiplus.dll_GdipSetPathGradientCenterColor
cmp eax, edi
je 0x535421
mov dword [esi + 8], eax
push 0x66
lea ecx, [esp + 0x400]
push ecx
lea edx, [esp + 0x264]
push edx
jmp 0x53545f
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esi + 4]
push eax
push ecx
call sub.gdiplus.dll_GdipSetPathGradientCenterColor
cmp eax, edi
je 0x53544d
mov dword [esi + 8], eax
push 0x65
lea edx, [esp + 0x400]
push edx
lea eax, [esp + 0x264]
push eax
mov ecx, esi
call fcn.00533ad0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [esi + 4]
push edi
push edx
push eax
call sub.gdiplus.dll_GdipMultiplyPathGradientTransform
cmp eax, edi
je 0x53547d
mov dword [esi + 8], eax
mov dword [esp + 0xc4], esi
jmp 0x535494
mov edx, dword [esi]
mov eax, dword [edx]
push 1
mov ecx, esi
call eax
jmp 0x535494
fstp st(0)
mov ecx, dword [esp + 0x1c]
push ecx
call sub.gdiplus.dll_GdipDeletePath
push fcn.0048b450
push 0x65
push 0x10
lea edx, [esp + 0x5a8]
push edx
mov byte [esp + 0xc08], 0x12
call fcn.0044b957
xor edi, edi
mov eax, dword [esp + 0x90]
cmp eax, edi
mov dword [esp + 0x88], edi
je 0x5354d9
push eax
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
je 0x5354ff
push eax
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x30]
cmp eax, edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0xbf8], 0xffffffff
je 0x535527
push eax
call fcn.004274fc
add esp, 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
jmp 0x536421
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
fldz
lea eax, [esp + 0x1c]
fstp qword [esp + 0x1c]
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0xbfc], 3
call fcn.004d8840
fldz
lea ecx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push ecx
lea ecx, [esp + 0x4c]
call fcn.004d8840
fldz
lea edx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push edx
lea ecx, [esp + 0x4c]
call fcn.004d8840
fldz
lea eax, [esp + 0x1c]
fstp qword [esp + 0x1c]
push eax
lea ecx, [esp + 0x4c]
call fcn.004d8840
push 0x635b40
lea ecx, [esp + 0x160]
call fcn.0048cd50
lea ecx, [esp + 0x15c]
push ecx
mov ecx, ebx
mov byte [esp + 0xbfc], 4
call fcn.004b7950
mov edi, eax
lea ecx, [esp + 0x15c]
mov dword [esp + 0x18], edi
mov byte [esp + 0xbf8], 3
call fcn.004b36e0
cmp edi, esi
je 0x535640
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
cmp eax, 4
jne 0x535640
xor edi, edi
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x535640
mov eax, dword [esp + 0x50]
sub eax, ecx
sar eax, 3
cmp edi, eax
jae 0x535640
mov ecx, dword [esp + 0x18]
push edi
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x53563b
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 1
jne 0x53563b
push edi
lea ecx, [esp + 0x4c]
call fcn.004ae760
mov ecx, esi
mov ebx, eax
call fcn.004b57f0
fstp qword [ebx]
add edi, 1
jmp 0x5355f4
xor edi, edi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
fldz
lea ecx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push ecx
lea ecx, [esp + 0xa0]
mov byte [esp + 0xbfc], 5
call fcn.004d8840
fld1
lea edx, [esp + 0x1c]
fstp qword [esp + 0x1c]
push edx
lea ecx, [esp + 0xa0]
call fcn.004d8840
push 0x635b48
lea ecx, [esp + 0x1a0]
call fcn.0048cd50
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x19c]
push eax
mov byte [esp + 0xbfc], 6
call fcn.004b7950
mov ebx, eax
lea ecx, [esp + 0x19c]
mov dword [esp + 0x18], ebx
mov byte [esp + 0xbf8], 5
call fcn.004b36e0
cmp ebx, edi
je 0x535739
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, ebx
call eax
cmp eax, 4
jne 0x535739
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x535739
mov eax, dword [esp + 0xa4]
sub eax, ecx
sar eax, 3
cmp edi, eax
jae 0x535739
push edi
mov ecx, ebx
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x535734
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 1
jne 0x535734
push edi
lea ecx, [esp + 0xa0]
call fcn.004ae760
mov ecx, esi
mov ebx, eax
call fcn.004b57f0
fstp qword [ebx]
mov ebx, dword [esp + 0x18]
add edi, 1
jmp 0x5356e2
xor edi, edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
push edi
lea ecx, [esp + 0x8c]
mov byte [esp + 0xbfc], 7
call fcn.00534720
push edi
lea ecx, [esp + 0x8c]
call fcn.00534720
push 0x635b50
lea ecx, [esp + 0x1e0]
call fcn.0048cd50
lea ecx, [esp + 0x1dc]
push ecx
mov ecx, dword [esp + 0x28]
mov byte [esp + 0xbfc], 8
call fcn.004b7950
lea ecx, [esp + 0x1dc]
mov ebx, eax
mov byte [esp + 0xbf8], 7
call fcn.004b36e0
cmp ebx, edi
je 0x53581d
mov edx, dword [ebx]
mov eax, dword [edx]
mov ecx, ebx
call eax
cmp eax, 4
jne 0x53581d
cmp dword [esp + 0x88], edi
jbe 0x53581d
push edi
mov ecx, ebx
call fcn.004b5830
mov esi, eax
test esi, esi
je 0x535811
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
test eax, eax
jne 0x535811
mov ecx, esi
call fcn.004b57e0
lea ecx, [esp + 0x244]
push eax
push edi
push ecx
lea ecx, [esp + 0x94]
call fcn.00533fd0
mov ecx, eax
call fcn.00533d90
add edi, 1
cmp edi, dword [esp + 0x88]
jb 0x5357d3
push 0x635b58
lea ecx, [esp + 0x140]
call fcn.0048cd50
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x13c]
push edx
mov byte [esp + 0xbfc], 9
call fcn.004b7950
mov esi, eax
lea ecx, [esp + 0x13c]
mov dword [esp + 0x18], esi
mov byte [esp + 0xbf8], 7
call fcn.004b36e0
xor ebx, ebx
cmp esi, ebx
je 0x5363ac
push 0x40af90
push 0x67
push 4
lea eax, [esp + 0x408]
push eax
call fcn.00408e10
push fcn.0048b450
push 0x4aeb90
push 0x65
push 0x10
lea ecx, [esp + 0x5ac]
push ecx
call fcn.0044badd
fld qword [0x659f58]
xor eax, eax
mov byte [esp + 0xbf8], 0xa
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x10], eax
fdiv st(1)
fstp dword [esp + eax*4 + 0x258]
jbe 0x5358b0
mov edx, dword [esi]
fstp st(0)
mov eax, dword [edx]
mov ecx, esi
call eax
cmp eax, 4
jne 0x535c0b
mov ecx, esi
mov dword [esp + 0x10], ebx
call fcn.004b5810
test eax, eax
jbe 0x535d58
jmp 0x5358f5
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, esi
call fcn.004b5830
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea edx, [esp + 0x5a0]
mov byte [esp + 0xbf8], 0xc
mov dword [esp + 0xac], eax
mov dword [esp + 0x24], edx
jmp 0x535944
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
cmp edi, eax
mov ebx, eax
mov dword [esp + 0x3c], ebx
jbe 0x53597c
call fcn.0044b7ad
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
cmp edi, eax
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
jbe 0x53597c
call fcn.0044b7ad
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp edi, ebx
je 0x5359b4
sub eax, ebx
sar eax, 3
test eax, eax
lea edx, [eax*8]
lea ebx, [edi + edx]
jle 0x5359ae
mov eax, dword [esp + 0x3c]
push edx
push eax
push edx
push edi
call fcn.0044ac88
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
add esp, 0x10
mov eax, ebx
mov dword [esp + 0x60], eax
cmp esi, ecx
mov edi, ecx
jbe 0x5359dc
call fcn.0044b7ad
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp esi, ecx
mov eax, dword [esp + 0x60]
jbe 0x5359dc
call fcn.0044b7ad
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x70]
cmp esi, edi
je 0x535a07
sub ecx, edi
sar ecx, 3
test ecx, ecx
lea edx, [ecx*8]
lea ebx, [esi + edx]
jle 0x535a03
push edx
push edi
push edx
push esi
call fcn.0044ac88
mov eax, dword [esp + 0x70]
add esp, 0x10
mov dword [esp + 0x70], ebx
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x535a22
mov esi, dword [esp + 0xa4]
mov edx, esi
sub edx, ecx
sar edx, 3
jne 0x535a39
call fcn.0044b7ad
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x60]
test ecx, ecx
mov ebx, ecx
je 0x535a4b
mov edx, esi
sub edx, ecx
sar edx, 3
cmp edx, 1
ja 0x535a62
call fcn.0044b7ad
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x60]
test ecx, ecx
lea edi, [ecx + 8]
je 0x535a70
sub esi, ecx
sar esi, 3
jne 0x535a80
call fcn.0044b7ad
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0xac]
fld dword [esp + edx*4 + 0x25c]
mov esi, dword [esp + 0x5c]
test esi, esi
fld qword [edi]
fsub qword [ecx]
fmulp st(1)
fadd qword [ebx]
fst qword [esp + 0x1c]
je 0x535ac1
mov edx, dword [esp + 0x64]
mov ecx, eax
sub ecx, esi
sub edx, esi
sar ecx, 3
sar edx, 3
cmp ecx, edx
jae 0x535ac1
fstp qword [eax]
add eax, 8
mov dword [esp + 0x60], eax
jmp 0x535ae8
cmp esi, eax
fstp st(0)
mov edi, eax
jbe 0x535ace
call fcn.0044b7ad
lea ecx, [esp + 0x1c]
push ecx
lea eax, [esp + 0x5c]
push edi
push eax
lea edx, [esp + 0xc4]
push edx
mov ecx, eax
call fcn.004d87b0
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x5c]
push ecx
push edx
call fcn.0052d020
add esp, 0xc
xor ebx, ebx
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
xor edi, edi
cmp esi, edi
je 0x535b8d
mov eax, ecx
sub eax, esi
sar eax, 3
cmp ebx, eax
jae 0x535b8d
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
test eax, eax
lea edi, [esi + ebx*8]
jne 0x535b2f
xor edx, edx
jmp 0x535b37
mov edx, dword [ecx + 4]
sub edx, eax
sar edx, 3
test eax, eax
je 0x535b61
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 8]
sub ecx, eax
sar ecx, 3
cmp edx, ecx
jae 0x535b61
mov ecx, dword [esp + 0x24]
fld qword [edi]
mov eax, dword [ecx + 4]
fstp qword [eax]
add eax, 8
mov dword [ecx + 4], eax
add ebx, 1
jmp 0x535b01
mov edx, dword [esp + 0x24]
mov esi, dword [edx + 4]
cmp eax, esi
jbe 0x535b71
call fcn.0044b7ad
mov ecx, dword [esp + 0x24]
push edi
push esi
add ecx, 0xfffffffc
push ecx
lea eax, [esp + 0x38]
push eax
call fcn.004d87b0
add ebx, 1
jmp 0x535b01
mov eax, dword [esp + 0xac]
add dword [esp + 0x24], 0x10
add eax, 1
cmp eax, 0x64
mov dword [esp + 0xac], eax
jbe 0x535940
cmp esi, edi
je 0x535bb9
push esi
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x5c]
cmp eax, edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov byte [esp + 0xbf8], 0xa
je 0x535bde
push eax
call fcn.004274fc
add esp, 4
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
add esi, 1
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x10], esi
call fcn.004b5810
cmp esi, eax
jb 0x5358f1
jmp 0x535d58
xor esi, esi
xor eax, eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ebx
lea ecx, [esp + 0x59c]
mov byte [esp + 0xbf8], 0xd
mov dword [esp + 0x10], ecx
jmp 0x535c38
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp esi, eax
mov edi, eax
jbe 0x535c58
call fcn.0044b7ad
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
cmp esi, eax
jbe 0x535c58
call fcn.0044b7ad
mov eax, dword [esp + 0x70]
cmp esi, edi
je 0x535c87
sub eax, edi
sar eax, 3
test eax, eax
lea ecx, [eax*8]
lea edx, [esi + ecx]
mov dword [esp + 0x3c], edx
jle 0x535c7f
push ecx
push edi
push ecx
push esi
call fcn.0044ac88
add esp, 0x10
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x535ca2
mov edx, dword [esp + 0xa4]
mov ecx, edx
sub ecx, eax
sar ecx, 3
jne 0x535cb5
call fcn.0044b7ad
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
test eax, eax
mov edi, eax
je 0x535cc7
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ecx, 1
ja 0x535cda
call fcn.0044b7ad
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
test eax, eax
lea esi, [eax + 8]
je 0x535ce8
sub edx, eax
sar edx, 3
jne 0x535cf4
call fcn.0044b7ad
mov eax, dword [esp + 0xa0]
fld dword [esp + ebx*4 + 0x25c]
lea edx, [esp + 0x1c]
fld qword [esi]
push edx
fsub qword [eax]
lea ecx, [esp + 0x6c]
fmulp st(1)
fadd qword [edi]
fstp qword [esp + 0x20]
call fcn.004d8840
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push esi
lea eax, [esp + 0x6c]
push eax
push ecx
call fcn.0052d020
add ebx, 1
add esi, 0x10
add esp, 0xc
cmp ebx, 0x64
mov dword [esp + 0x10], esi
jbe 0x535c30
mov eax, dword [esp + 0x6c]
test eax, eax
mov byte [esp + 0xbf8], 0xa
je 0x535d58
push eax
call fcn.004274fc
add esp, 4
mov ebx, dword [esp + 0xb4]
lea edx, [esp + 0x59c]
lea eax, [esp + 0x3f0]
mov dword [esp + 0x18], 0x65
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], eax
xor esi, esi
nop
mov edi, dword [esp + 0x90]
cmp edi, dword [esp + 0x94]
jbe 0x535d95
call fcn.0044b7ad
lea ecx, [esp + 0x88]
mov dword [esp + 0x2c], ecx
push 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 0
call fcn.00533c70
mov edi, dword [esp + 0x2c]
test edi, edi
jne 0x535dcb
call fcn.0044b7ad
call fcn.0044b7ad
jmp 0x535dd2
cmp dword [esp + 0x30], 0
jne 0x535dd7
call fcn.0044b7ad
mov ecx, dword [edi + 8]
cmp ecx, dword [edi + 0xc]
mov dword [esp + 0x3c], ecx
jbe 0x535dec
call fcn.0044b7ad
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
sub eax, ecx
sar eax, 2
shl eax, 5
add eax, dword [esp + 0x34]
cmp eax, dword [edi]
jb 0x535e05
call fcn.0044b7ad
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
mov edx, 1
shl edx, cl
test dword [eax], edx
je 0x535e5a
mov eax, dword [esp + 0x24]
mov edx, dword [ebx]
mov edx, dword [edx + 4]
push eax
lea ecx, [esp + 0xd4]
push ecx
mov ecx, ebx
call edx
mov eax, dword [eax]
and eax, 0xffffff
or eax, dword [esp + 0x14]
mov dword [esp + esi + 0x400], eax
mov eax, dword [esp + 0x10]
fld dword [eax - 4]
fmul qword [0x659f30]
fadd qword [0x6010e8]
fstp dword [eax]
jmp 0x535f4e
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
push ecx
lea edx, [esp + 0xdc]
push edx
mov ecx, ebx
call eax
mov eax, dword [eax]
and eax, 0xffffff
or eax, dword [esp + 0x14]
mov dword [esp + esi + 0x3fc], eax
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x94]
mov edi, eax
jbe 0x535e99
call fcn.0044b7ad
lea ecx, [esp + 0x88]
mov dword [esp + 0xb8], ecx
push 1
lea ecx, [esp + 0xbc]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], 0
call fcn.00533c70
mov edi, dword [esp + 0xb8]
test edi, edi
jne 0x535ede
call fcn.0044b7ad
call fcn.0044b7ad
jmp 0x535ee8
cmp dword [esp + 0xbc], 0
jne 0x535eed
call fcn.0044b7ad
mov ecx, dword [edi + 8]
cmp ecx, dword [edi + 0xc]
mov dword [esp + 0x3c], ecx
jbe 0x535f02
call fcn.0044b7ad
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0xbc]
sub eax, ecx
sar eax, 2
shl eax, 5
add eax, dword [esp + 0xc0]
cmp eax, dword [edi]
jb 0x535f21
call fcn.0044b7ad
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
mov edx, 1
shl edx, cl
test dword [eax], edx
je 0x535f4e
fld dword [esp + esi + 0x25c]
fmul qword [0x659f30]
fstp dword [esp + esi + 0x25c]
sub dword [esp + 0x10], 4
add dword [esp + 0x24], 0x10
add esi, 4
cmp esi, 0x190
jbe 0x535d80
mov esi, dword [esp + 0x90]
cmp esi, dword [esp + 0x94]
jbe 0x535f7c
call fcn.0044b7ad
lea ecx, [esp + 0x88]
mov dword [esp + 0x2c], ecx
push 0
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0
call fcn.00533c70
mov esi, dword [esp + 0x2c]
test esi, esi
mov edi, dword [esp + 0x30]
jne 0x535fb6
call fcn.0044b7ad
call fcn.0044b7ad
jmp 0x535fba
test edi, edi
jne 0x535fbf
call fcn.0044b7ad
mov ebx, dword [esi + 8]
cmp ebx, dword [esi + 0xc]
jbe 0x535fcc
call fcn.0044b7ad
mov eax, edi
sub eax, ebx
mov ebx, dword [esp + 0x34]
sar eax, 2
shl eax, 5
add eax, ebx
cmp eax, dword [esi]
jb 0x535fe5
call fcn.0044b7ad
mov edx, 1
mov ecx, ebx
shl edx, cl
test dword [edi], edx
je 0x536011
fldz
mov eax, dword [esp + 0x400]
fstp dword [esp + 0x25c]
mov dword [esp + 0x3fc], eax
mov dword [esp + 0x18], 0x66
mov esi, dword [esp + 0x90]
cmp esi, dword [esp + 0x94]
jbe 0x536026
call fcn.0044b7ad
lea ecx, [esp + 0x88]
mov dword [esp + 0x2c], ecx
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], 0
call fcn.00533c70
mov esi, dword [esp + 0x2c]
test esi, esi
mov ebx, dword [esp + 0x30]
jne 0x536060
call fcn.0044b7ad
call fcn.0044b7ad
jmp 0x536064
test ebx, ebx
jne 0x536069
call fcn.0044b7ad
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
jbe 0x536076
call fcn.0044b7ad
mov eax, ebx
sub eax, edi
mov edi, dword [esp + 0x34]
sar eax, 2
shl eax, 5
add eax, edi
cmp eax, dword [esi]
jb 0x53608f
call fcn.0044b7ad
mov edx, 1
mov ecx, edi
shl edx, cl
test dword [ebx], edx
je 0x5360be
mov eax, dword [esp + 0x18]
fld1
mov ecx, dword [esp + eax*4 + 0x3f8]
fstp dword [esp + eax*4 + 0x25c]
mov dword [esp + eax*4 + 0x3fc], ecx
add eax, 1
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x5360d3
mov edx, dword [esp + 0x50]
mov eax, edx
sub eax, ecx
sar eax, 3
jne 0x5360e0
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
xor ebx, ebx
cmp ecx, ebx
mov esi, ecx
je 0x5360f4
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x536101
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
fld qword [ecx + 0x10]
fcomp qword [esi]
fnstsw ax
test ah, 0x44
jp 0x536156
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 1
ja 0x536126
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
cmp ecx, ebx
lea esi, [ecx + 8]
je 0x536139
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 3
ja 0x536146
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
fld qword [ecx + 0x18]
fcomp qword [esi]
fnstsw ax
test ah, 0x44
jnp 0x53638c
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 1
ja 0x53616f
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
cmp ecx, ebx
lea esi, [ecx + 8]
je 0x53617f
mov eax, edx
sub eax, ecx
sar eax, 3
jne 0x53618c
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
fld qword [ecx]
mov eax, edx
fstp dword [esp + 0x3c]
sub eax, ecx
fld qword [esi]
sar eax, 3
cmp eax, 3
fstp dword [esp + 0x14]
fld dword [esp + 0x3c]
fstp dword [esp + 0x24]
fld dword [esp + 0x14]
fstp dword [esp + 0x28]
ja 0x5361c1
call fcn.0044b7ad
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
cmp ecx, ebx
lea esi, [ecx + 0x18]
je 0x5361d2
sub edx, ecx
sar edx, 3
cmp edx, 2
ja 0x5361db
call fcn.0044b7ad
mov ecx, dword [esp + 0x4c]
fld qword [ecx + 0x10]
push ebx
fstp dword [esp + 0x40]
lea ecx, [esp + 0x200]
fld qword [esi]
push ecx
fstp dword [esp + 0x1c]
lea ecx, [esp + 0x90]
fld dword [esp + 0x44]
fst dword [esp + 0x24]
fld dword [esp + 0x1c]
fst dword [esp + 0x28]
fld dword [esp + 0x2c]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x18]
fsub dword [esp + 0x30]
fstp dword [esp + 0xb4]
fld1
fstp dword [esp + 0x1c]
call fcn.00533fd0
mov ecx, eax
call fcn.00533dc0
test al, al
je 0x536260
push 1
lea edx, [esp + 0x20c]
push edx
lea ecx, [esp + 0x90]
call fcn.00533fd0
mov ecx, eax
call fcn.00533dc0
test al, al
je 0x536260
fld dword [0x600cb8]
fstp dword [esp + 0x14]
push ebx
lea eax, [esp + 0x218]
push eax
lea ecx, [esp + 0x90]
call fcn.00533fd0
mov ecx, eax
call fcn.00533dc0
fld dword [esp + 0x14]
test al, al
je 0x5362a7
fld dword [esp + 0x24]
fld st(1)
fmul dword [esp + 0x10]
fsubp st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0xac]
fmulp st(1)
fsubr dword [esp + 0x28]
fstp dword [esp + 0x28]
jmp 0x5362a9
fstp st(0)
push 1
lea ecx, [esp + 0x230]
push ecx
lea ecx, [esp + 0x90]
call fcn.00533fd0
mov ecx, eax
call fcn.00533dc0
test al, al
je 0x5362eb
fld dword [esp + 0x14]
fld st(0)
fmul dword [esp + 0x10]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fmul dword [esp + 0xac]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
push 0xc
call sub.gdiplus.dll_GdipAlloc
mov esi, eax
cmp esi, ebx
je 0x53638c
mov edi, dword [esp + 0x18]
lea edx, [esp + 0x14]
push edx
push ebx
mov dword [esi + 8], 6
mov dword [esi], 0x635b88
mov eax, dword [esp + edi*4 + 0x400]
push eax
mov eax, dword [esp + 0x408]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x2c], ebx
call sub.gdiplus.dll_GdipCreateLineBrush
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
cmp eax, ebx
mov dword [esi + 8], ebx
jne 0x536382
push edi
lea ecx, [esp + 0x260]
push ecx
lea edx, [esp + 0x404]
push edx
mov ecx, esi
call fcn.00533a20
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [esi + 4]
push ebx
push ecx
push edx
call sub.gdiplus.dll_GdipMultiplyLineTransform
cmp eax, ebx
je 0x536379
mov dword [esi + 8], eax
mov dword [esp + 0xc4], esi
jmp 0x53638c
mov eax, dword [esi]
mov edx, dword [eax]
push 1
mov ecx, esi
call edx
push fcn.0048b450
push 0x65
push 0x10
lea eax, [esp + 0x5a8]
push eax
mov byte [esp + 0xc08], 7
call fcn.0044b957
xor ebx, ebx
mov eax, dword [esp + 0x90]
cmp eax, ebx
mov dword [esp + 0x88], ebx
je 0x5363c7
push eax
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0xa0]
cmp eax, ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
je 0x5363f0
push eax
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x4c]
cmp eax, ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xbf8], 0xffffffff
je 0x536421
push eax
call fcn.004274fc
add esp, 4
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
push 1
call eax
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xbf0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret