Function at 0x408620
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x17c
push ebx
push esi
push edi
xor edi, edi
mov ebx, dword [ebp + 8]
push edi
push 0x449548
push 0x138d
push str.BLUE
push 0x138d
push str.COLOR
push 0x138d
push 0x449548
push 0x138d
push ebx
push 0x138f
push str..CHPROP
push 0x138d
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
call fcn.00430d70
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x98], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x6c]
mov dword [esp + 0x9c], edx
mov edx, dword [esi + 0x14]
push eax
push ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
call fcn.004304d0
mov ecx, dword [0x44c5c8]
add esp, 0x3c
xor eax, eax
mov dword [esp + 0x5c], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x38]
xor ecx, ecx
cmp edi, edx
jl 0x40870b
cmp eax, ecx
je 0x408fbb
jmp 0x40870f
cmp eax, ecx
je 0x408757
cmp edi, 1
jle 0x408719
sub edi, 2
jmp 0x40871a
dec edi
mov dword [esp + 0x30], ecx
mov dword [0x44c5c8], ecx
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x34], edi
mov dword [esp + 0x60], edx
mov edx, dword [esi + 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x68], ecx
mov ecx, dword [esi + 0x14]
xor edi, edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
cmp edi, dword [esp + 0x34]
jne 0x40876a
mov edx, dword [esp + 0xe4]
mov dword [0x44c5c8], edx
lea eax, [esp + 0x40]
mov dword [0x442038], 0xffffffff
push eax
push edi
push ebx
call fcn.00430540
lea ecx, [esp + 0xf8]
lea edx, [esp + 0x98]
push ecx
lea eax, [esp + 0xdc]
push edx
lea ecx, [esp + 0x17c]
push eax
lea edx, [esp + 0x100]
push ecx
lea eax, [esp + 0x58]
push edx
lea ecx, [esp + 0x80]
push eax
lea edx, [esp + 0x64]
push ecx
push edx
call fcn.00419ec0
add esp, 0x2c
cmp eax, 0x13ec
jne 0x408fa3
lea eax, [esp + 0x40]
push eax
call fcn.0041a8b0
mov ecx, dword [esp + 0x154]
mov edx, dword [esp + 0x158]
mov esi, eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x164]
add esp, 4
mov dword [esp + 0x1c], ecx
test eax, eax
mov dword [esp + 0x20], edx
je 0x408836
mov dword [0x442038], 1
lea ecx, [esp + 0x40]
push ecx
call fcn.00401000
add esp, 4
mov ebx, eax
cmp esi, 1
mov dword [esp + 0xa4], ebx
je 0x408c94
jle 0x408f40
cmp esi, 3
jg 0x408f40
fld qword [esp + 0x20]
fcom qword [esp + 0x18]
fnstsw ax
test ah, 1
je 0x408888
fadd qword [0x440248]
fcom qword [esp + 0x18]
fnstsw ax
test ah, 1
jne 0x408873
fst qword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
or eax, 0xffffffff
test ecx, ecx
mov dword [0x442038], eax
je 0x4088c6
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
fstp qword [esp + 0x18]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
mov dword [0x442038], 1
jmp 0x4088c8
fstp st(0)
cmp esi, 2
jne 0x4088fa
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x544486e0
mov dword [esp + 0x24], 0x401921fb
mov dword [0x442038], eax
mov dword [esp + 0x3c], 0
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0xb8]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x8c]
lea ecx, [esp + 0x138]
push edx
push esi
push edi
push ebx
push eax
push ecx
call fcn.00432cb0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0xe4]
push edx
push esi
push edi
push eax
lea edx, [esp + 0x160]
push ecx
push edx
call fcn.00432cb0
mov eax, dword [esp + 0x48]
push ebx
push eax
call fcn.0041c920
mov eax, dword [0x442038]
mov edx, dword [esp + 0x5c]
push edx
lea eax, [eax + eax*4]
lea ecx, [eax + eax*8]
mov eax, dword [esp + 0x5c]
shl ecx, 1
mov dword [esp + 0x68], ecx
push eax
fild dword [esp + 0x6c]
fsubp st(1)
fstp qword [esp + 0x90]
call fcn.0041c920
mov eax, dword [0x442038]
add esp, 0x40
lea eax, [eax + eax*4]
lea ecx, [eax + eax*8]
shl ecx, 1
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
fsubp st(1)
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
jne 0x4089bc
fsub qword [0x440218]
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
je 0x4089a9
fld qword [esp + 0x50]
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
jne 0x408a35
fsub qword [0x440218]
fcom qword [0x440218]
fnstsw ax
test ah, 0x41
je 0x4089cd
fstp qword [esp + 0x50]
fsubr qword [esp + 0xb0]
fcom qword [0x440220]
fst qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x408a13
fadd qword [0x440218]
fcom qword [0x440220]
fnstsw ax
test ah, 1
jne 0x4089fc
fst qword [esp + 0x10]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
jne 0x408a39
fsub qword [0x440218]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
je 0x408a20
jmp 0x408a3d
fstp st(0)
jmp 0x4089e4
fstp st(0)
jmp 0x408a41
fstp qword [esp + 0x10]
lea edx, [esp + 0x40]
push edx
call fcn.00401070
mov ebx, eax
mov eax, dword [0x442038]
add esp, 4
cmp eax, 1
jne 0x408a88
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xa8], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
jmp 0x408ab4
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
push esi
push edi
call fcn.00416670
fst qword [esp + 0x90]
fcomp qword [0x44c5fc]
add esp, 0x18
fnstsw ax
test ah, 0x41
jne 0x408fa3
mov eax, dword [0x44c5c8]
test eax, eax
jne 0x408b20
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x408b20
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x408b20
fld qword [esp + 0x10]
fmul qword [0x4401c0]
fstp qword [esp + 0x10]
movsx eax, word [0x44a8a0]
fld qword [esp + 0x10]
fabs
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fcompp
fnstsw ax
test ah, 0x41
je 0x408b45
cmp dword [esp + 0xc], 1
jge 0x408b55
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
fld qword [esp + 0x18]
fsub qword [esp + 0x20]
lea ecx, [esp + 0x30]
push ecx
push ebx
sub esp, 8
fstp qword [esp]
call fcn.0041c920
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov ecx, dword [0x44c5f0]
fabs
fstp qword [esp]
push esi
push edi
push edx
mov edx, dword [0x44c5ec]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
lea edx, [esp + 0x6c]
push ecx
push edx
call fcn.00407be0
add esp, 0x34
cmp eax, 0xffffec76
je 0x409030
cmp eax, 0x138e
je 0x408c11
push 0
push 0x449548
push 0x138d
push str.BYLAYER
push 0x138d
push str.COLOR
push 0x138d
cmp eax, 0x1396
push 0x449548
push 0x138d
je 0x409009
mov eax, dword [ebp + 8]
push eax
push 0x138f
push str..CHPROP
push 0x138d
call fcn.00430d70
add esp, 0x34
jmp 0x408f40
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], 0xffffffff
test eax, eax
mov dword [esp + 0x34], 0
jle 0x408f40
mov edi, dword [esp + 0xc]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0x48]
push ecx
push esi
push ebx
call fcn.00430540
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
add esp, 0xc
cmp edx, eax
jne 0x408c6a
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jne 0x408c6a
mov dword [esp + 0x30], 1
lea edi, [esi + 1]
test edi, edi
jle 0x408c77
lea ecx, [esp + 0x48]
push 5
push ecx
jmp 0x408c7e
lea edx, [esp + 0x48]
push 8
push edx
call fcn.00419080
mov eax, dword [esp + 0x40]
add esp, 8
inc esi
cmp esi, eax
jl 0x408c38
jmp 0x408f38
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0x110]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x11c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
lea eax, [esp + 0x8c]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x134]
lea ecx, [esp + 0xcc]
push eax
push ecx
mov dword [esp + 0xa8], edx
call fcn.00432c80
fst qword [esp + 0x80]
fcomp qword [0x44c5fc]
add esp, 8
fnstsw ax
test ah, 0x41
jne 0x408fa3
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x408db6
lea edx, [esp + 0xcc]
lea eax, [esp + 0x170]
push edx
push eax
call fcn.00419500
lea ecx, [esp + 0x94]
lea edx, [esp + 0xd4]
push ecx
push edx
call fcn.00419500
lea eax, [esp + 0x180]
lea ecx, [esp + 0x9c]
push eax
push ecx
call fcn.00419500
add esp, 0x18
lea edx, [esp + 0xcc]
lea eax, [esp + 0x8c]
push edx
push eax
call fcn.00432c10
fstp qword [esp]
call fcn.0041c920
fstp qword [esp + 0x58]
fld qword [esp + 0xb8]
fsub qword [esp + 0x58]
add esp, 8
fcom qword [0x440220]
fst qword [esp + 0x10]
fnstsw ax
test ah, 1
je 0x408e0d
fadd qword [0x440218]
fcom qword [0x440220]
fnstsw ax
test ah, 1
jne 0x408df6
fst qword [esp + 0x10]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
jne 0x408e31
fsub qword [0x440218]
fcom qword [0x440230]
fnstsw ax
test ah, 0x41
je 0x408e1a
fst qword [esp + 0x10]
test ebx, ebx
je 0x408e47
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x408e47
fmul qword [0x4401c0]
fst qword [esp + 0x10]
movsx ecx, word [0x44a8a0]
fabs
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
fcompp
fnstsw ax
test ah, 0x41
je 0x408e66
cmp edi, 1
jge 0x408e76
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x30]
push edx
mov edx, dword [esp + 0x18]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x2c]
push ecx
push 0
push 0
push edx
lea ecx, [esp + 0x6c]
push eax
push ecx
call fcn.00407be0
add esp, 0x34
cmp eax, 0xffffec76
je 0x4090b1
cmp eax, 0x138e
je 0x408ec9
cmp eax, 0x1396
je 0x409060
jmp 0x408f40
mov eax, dword [esp + 0x38]
or edi, 0xffffffff
xor esi, esi
mov dword [esp + 0xc], edi
test eax, eax
mov dword [esp + 0x34], esi
jle 0x408f40
mov ebx, dword [ebp + 8]
lea edx, [esp + 0x48]
push edx
push esi
push ebx
call fcn.00430540
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x54]
add esp, 0xc
cmp eax, ecx
jne 0x408f13
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
cmp ecx, eax
jne 0x408f13
mov dword [esp + 0x30], 1
lea edi, [esi + 1]
test edi, edi
jle 0x408f20
lea edx, [esp + 0x48]
push 5
push edx
jmp 0x408f27
lea eax, [esp + 0x48]
push 8
push eax
call fcn.00419080
mov eax, dword [esp + 0x40]
add esp, 8
inc esi
cmp esi, eax
jl 0x408ee1
mov dword [esp + 0x34], esi
mov dword [esp + 0xc], edi
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], eax
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x30]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
inc edi
mov dword [esp + 0xc], edi
jmp 0x4086f7
push 0
push 0x449548
push 0x138d
push 0x442c94
push 0x138d
push str.COLOR
push 0x138d
push 0x449548
push 0x138d
push ebx
push 0x138f
push str..CHPROP
push 0x138d
call fcn.00430d70
add esp, 0x34
mov eax, 0x13ec
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
push ecx
push 0x138f
push str..CHPROP
push 0x138d
call fcn.00430d70
add esp, 0x34
mov eax, 0x13ec
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 8]
push 0
push 0x449548
push 0x138d
push str.BYLAYER
push 0x138d
push str.COLOR
push 0x138d
push 0x449548
push 0x138d
push edx
jmp 0x4090df
mov eax, dword [ebp + 8]
push 0
push 0x449548
push 0x138d
push 0x442c94
push 0x138d
push str.COLOR
push 0x138d
push 0x449548
push 0x138d
push eax
push 0x138f
push str..CHPROP
push 0x138d
call fcn.00430d70
add esp, 0x34
mov eax, 0x13ec
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
push 0
push 0x449548
push 0x138d
push str.BLUE
push 0x138d
push str.COLOR
push 0x138d
push 0x449548
push 0x138d
push ecx
push 0x138f
push str..CHPROP
push 0x138d
call fcn.00430d70
add esp, 0x34
mov eax, 0xffffec76
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret