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

Disassembly:
sub esp, 0xb8
mov ecx, dword [0x1021c4b0]
mov eax, dword [ecx + 0x1a10]
mov byte [eax + 0x80], 1
mov eax, dword [ecx + 0x1a10]
mov dword [esp + 0x24], eax
cmp byte [eax + 0x83], 0
je 0x1005ed65
xor al, al
add esp, 0xb8
ret
push ebx
push edi
mov edi, dword [0x1021c4b0]
mov dword [esp + 0x44], edi
call fcn.1003ca40
fstp dword [esp + 0x4c]
call fcn.10039540
mov ebx, dword [esp + 0xcc]
fldz
test bl, 0x10
jne 0x1005ed99
fstp st(0)
fld dword [edi + 0x1570]
fadd dword [esp + 0x4c]
fst dword [esp + 0xc]
push esi
mov esi, dword [esp + 0xc8]
fsubp st(1)
push 0
push esi
fstp dword [esp + 0x64]
call fcn.1003c090
mov dword [edi + 0x1af0], 0
call fcn.10039040
push esi
call fcn.10043330
add esp, 0xc
mov dword [esp + 0x7c], ebx
test ebx, 0x20
je 0x1005ede3
and ebx, 0xff9fffff
or ebx, 0x100008
push ebp
mov ebp, dword [esp + 0xd0]
test bl, 8
jne 0x1005edfa
push ebx
push ebp
call fcn.1005f940
add esp, 8
mov ecx, dword [edi + 0x2d5c]
test ebx, 0x700000
jne 0x1005ee11
mov eax, ecx
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x1005ee22
mov eax, ecx
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x1005ee33
mov eax, ecx
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x1005ee44
mov eax, ecx
and eax, 0x18000000
or ebx, eax
fld dword [ebp]
and ecx, 0xe00fffff
or ebx, ecx
fst dword [esp + 0x18]
fld dword [ebp + 4]
mov ecx, ebx
shr ecx, 1
mov eax, ebx
not cl
shr eax, 0x13
and ecx, 0xffffff01
mov dword [esp + 0xd4], ebx
fst dword [esp + 0x1c]
fld dword [ebp + 8]
and eax, 0xffffff01
movzx esi, cl
add esi, 3
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x30], esi
fst dword [esp + 0x20]
fld1
test cl, cl
je 0x1005ee9b
fstp st(0)
fld dword [ebp + 0xc]
mov eax, ebx
and eax, 0x10100000
mov dword [esp + 0x84], eax
fstp dword [esp + 0x24]
cmp eax, 0x10100000
jne 0x1005eeec
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
sub esp, 0xc
fstp dword [esp + 8]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.1003a710
add esp, 0x18
fld dword [esp + 0x20]
fld dword [esp + 0x1c]
fld dword [esp + 0x18]
fldz
jmp 0x1005ef8c
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1005ef7e
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
sub esp, 0xc
fstp dword [esp + 8]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.1003a840
mov eax, dword [edi + 0x2d68]
add esp, 0x18
cmp eax, dword [ebp]
jne 0x1005eed9
mov eax, dword [edi + 0x2d6c]
cmp eax, dword [ebp + 4]
jne 0x1005eed9
mov eax, dword [edi + 0x2d70]
cmp eax, dword [ebp + 8]
jne 0x1005eed9
fld dword [esp + 0x1c]
fldz
fucom st(1)
fnstsw ax
test ah, 0x44
jp 0x1005ef5f
fld dword [edi + 0x2d60]
fst dword [esp + 0x18]
jmp 0x1005ef63
fld dword [esp + 0x18]
fld dword [esp + 0x20]
fucom st(2)
fnstsw ax
test ah, 0x44
jp 0x1005ef88
fstp st(3)
fld dword [edi + 0x2d64]
fst dword [esp + 0x1c]
jmp 0x1005ef8a
fldz
fxch st(1)
fxch st(3)
fxch st(1)
jmp 0x1005ef8c
fxch st(3)
fxch st(2)
fcom st(1)
fnstsw ax
fld dword [0x101abaec]
fld dword [0x101a8790]
test ah, 0x41
jp 0x1005efa5
fld st(0)
jmp 0x1005efa7
fld st(1)
fld dword [0x101abad0]
fmul st(5), st(0)
fxch st(5)
faddp st(1)
call fcn.10162460
fxch st(4)
mov dword [esp + 0x3c], eax
fcom st(2)
fnstsw ax
test ah, 1
jne 0x1005efcb
fld st(4)
jmp 0x1005efcd
fld st(1)
fxch st(1)
fmul st(4)
faddp st(1)
call fcn.10162460
fxch st(4)
mov dword [esp + 0x40], eax
fcom st(1)
fnstsw ax
test ah, 1
jne 0x1005efeb
fld st(3)
jmp 0x1005efed
fld st(4)
fxch st(1)
fmul st(3)
faddp st(1)
call fcn.10162460
fcom dword [esp + 0x24]
mov dword [esp + 0x44], eax
fnstsw ax
test ah, 0x41
jnp 0x1005f04f
fstp st(2)
fxch st(1)
fxch st(2)
fxch st(1)
fmul dword [esp + 0x24]
faddp st(1)
call fcn.10162460
mov edx, dword [esp + 0x34]
mov dword [esp + 0x48], eax
cmp dword [edi + 0x15a4], 0
mov byte [esp + 0x12], 0
fld dword [edx + 0xcc]
fst dword [esp + 0x5c]
fld dword [edx + 0xd0]
fst dword [esp + 0x58]
mov byte [esp + 0x13], 0
jne 0x1005f053
fld dword [esp + 0x14]
jmp 0x1005f055
fstp st(3)
jmp 0x1005f00f
fld st(2)
fadd st(2)
mov eax, ebx
and eax, 0x20
fstp dword [edx + 0xcc]
test ebx, 0x300000
je 0x1005f33c
test eax, eax
jne 0x1005f33c
fstp st(1)
lea eax, [esi - 1]
fstp st(0)
mov dword [esp + 0x14], eax
fstp st(0)
fild dword [esp + 0x14]
fld dword [edi + 0x1570]
fld st(0)
fmul st(2)
fld dword [esp + 0x60]
fld st(0)
fsubrp st(2)
fild dword [esp + 0x30]
fdivp st(2)
fxch st(1)
call fcn.10162460
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fst dword [esp + 0x38]
fld1
fcom st(1)
fnstsw ax
test ah, 1
jne 0x1005f0c7
fstp st(1)
fld st(0)
fst dword [esp + 0x38]
fxch st(1)
fxch st(3)
faddp st(1)
fmulp st(3)
fsubrp st(2)
fxch st(1)
call fcn.10162460
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fst dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1005f0f1
fstp dword [esp + 0x14]
jmp 0x1005f0f3
fstp st(0)
mov ebp, ebx
mov eax, str.M:0.000
and ebp, 0x1000000
jne 0x1005f107
mov eax, str.M:000
fld dword [0x101aad24]
push ecx
fstp dword [esp]
push 0
push 0
push eax
lea eax, [esp + 0x38]
push eax
call fcn.10039910
add esp, 0x14
fld dword [eax]
fld dword [esp + 0x38]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x1005f138
xor ecx, ecx
jmp 0x1005f147
mov ecx, ebx
and ecx, 0x200000
neg ecx
sbb ecx, ecx
neg ecx
inc ecx
xor esi, esi
cmp dword [esp + 0x30], esi
jbe 0x1005f32e
shl ecx, 4
test ebp, ebp
je 0x1005f259
fldz
lea ebp, [ecx + 0x102172c4]
mov eax, ebx
mov ebx, edi
and eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x30]
fst dword [esp + 0x68]
jmp 0x1005f17d
fldz
test esi, esi
je 0x1005f1a5
sub esp, 8
fstp st(1)
fld dword [ebx + 0x1570]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.10046000
fld dword [esp + 0x40]
add esp, 8
mov eax, dword [esp + 0x30]
jmp 0x1005f1a7
fstp st(0)
lea edi, [esi + 1]
cmp edi, eax
jl 0x1005f1b4
fstp st(0)
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.10046bc0
add esp, 4
cmp byte [esp + 0x54], 0
je 0x1005f1cb
fldz
jmp 0x1005f1cd
fld1
push ecx
fstp dword [esp + 0x68]
fld1
lea eax, [esp + 0x68]
fstp dword [esp]
push dword [ebp]
fld dword [0x101aacd4]
push eax
lea eax, [esp + 0x74]
push eax
push ecx
lea eax, [esp + 0x2c]
fstp dword [esp]
lea eax, [eax + esi*4]
push eax
push 8
push dword [esi*4 + 0x10217284]
call fcn.10062ae0
mov cl, byte [esp + 0x32]
add esp, 0x20
or cl, al
or byte [esp + 0x13], cl
cmp dword [esp + 0x28], 0
mov byte [esp + 0x12], cl
jne 0x1005f22b
push 1
push str.context
call fcn.10042b70
add esp, 8
mov eax, dword [esp + 0x30]
mov esi, edi
fld dword [esp + 0x38]
add ebp, 4
cmp esi, eax
jl 0x1005f17b
mov edi, dword [esp + 0x4c]
fstp st(0)
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd0]
jmp 0x1005f524
xor eax, eax
lea ebp, [ecx + 0x10217294]
xor esi, esi
cmp byte [esp + 0x54], al
mov dword [esp + 0x68], esi
setne al
dec eax
and eax, 0xff
mov dword [esp + 0x28], eax
mov eax, ebx
and eax, 8
mov ebx, edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x30]
test esi, esi
jle 0x1005f2af
fstp st(0)
sub esp, 8
fld dword [ebx + 0x1570]
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10046000
fld dword [esp + 0x40]
add esp, 8
mov eax, dword [esp + 0x30]
lea edi, [esi + 1]
cmp edi, eax
jl 0x1005f2bc
fstp st(0)
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.10046bc0
fld1
lea eax, [esp + 0x2c]
fst dword [esp]
push dword [ebp]
push eax
lea eax, [esp + 0x74]
push eax
push ecx
lea eax, [esp + 0x50]
fstp dword [esp]
lea eax, [eax + esi*4]
push eax
push 4
push dword [esi*4 + 0x10217284]
call fcn.10062ae0
or byte [esp + 0x32], al
add esp, 0x20
cmp dword [esp + 0x64], 0
jne 0x1005f30e
push 1
push str.context
call fcn.10042b70
add esp, 8
mov eax, dword [esp + 0x30]
mov esi, edi
fld dword [esp + 0x38]
add ebp, 4
cmp esi, eax
jl 0x1005f287
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xd0]
fstp st(0)
jmp 0x1005f524
mov ecx, eax
test ebx, 0x400000
je 0x1005f536
test eax, eax
jne 0x1005f536
fstp st(1)
fstp st(0)
fstp st(0)
cmp byte [esp + 0x50], al
je 0x1005f3e2
mov esi, dword [esp + 0x48]
test esi, esi
jns 0x1005f36e
xor esi, esi
jmp 0x1005f37b
cmp esi, 0xff
jle 0x1005f37b
mov esi, 0xff
mov edx, dword [esp + 0x44]
test edx, edx
jns 0x1005f387
xor edx, edx
jmp 0x1005f394
cmp edx, 0xff
jle 0x1005f394
mov edx, 0xff
mov ecx, dword [esp + 0x40]
test ecx, ecx
jns 0x1005f3a0
xor ecx, ecx
jmp 0x1005f3ad
cmp ecx, 0xff
jle 0x1005f3ad
mov ecx, 0xff
mov eax, dword [esp + 0x3c]
test eax, eax
jns 0x1005f3b9
xor eax, eax
jmp 0x1005f3c5
cmp eax, 0xff
jle 0x1005f3c5
mov eax, 0xff
push esi
push edx
push ecx
push eax
push 0x101af964
lea eax, [esp + 0x9c]
push 0x40
push eax
call fcn.1003d4b0
add esp, 0x1c
jmp 0x1005f446
mov edx, dword [esp + 0x44]
test edx, edx
jns 0x1005f3ee
xor edx, edx
jmp 0x1005f3fb
cmp edx, 0xff
jle 0x1005f3fb
mov edx, 0xff
mov ecx, dword [esp + 0x40]
test ecx, ecx
jns 0x1005f407
xor ecx, ecx
jmp 0x1005f414
cmp ecx, 0xff
jle 0x1005f414
mov ecx, 0xff
mov eax, dword [esp + 0x3c]
test eax, eax
jns 0x1005f420
xor eax, eax
jmp 0x1005f42c
cmp eax, 0xff
jle 0x1005f42c
mov eax, 0xff
push edx
push ecx
push eax
push 0x101af978
lea eax, [esp + 0x98]
push 0x40
push eax
call fcn.1003d4b0
add esp, 0x18
fld dword [esp + 0x60]
push ecx
fstp dword [esp]
call fcn.10046bc0
fldz
lea eax, [esp + 0x2c]
push 0
push 0
push 6
push eax
push 0x40
lea eax, [esp + 0xa0]
push eax
fst dword [esp + 0x44]
push 0
push str.Text
fstp dword [esp + 0x50]
call fcn.100635a0
add esp, 0x24
test al, al
je 0x1005f50e
mov byte [esp + 0x12], 1
lea ecx, [esp + 0x88]
mov al, byte [ecx]
cmp al, 0x23
je 0x1005f4a3
cmp al, 0x20
je 0x1005f4a3
cmp al, 9
jne 0x1005f4a6
inc ecx
jmp 0x1005f495
cmp byte [esp + 0x50], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
je 0x1005f4f1
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x48]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.10049470
add esp, 0x18
jmp 0x1005f50e
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x44]
push eax
push str._02X_02X_02X
push ecx
call fcn.10049470
add esp, 0x14
xor ecx, ecx
test bl, 8
jne 0x1005f526
push 1
push str.context
call fcn.10042b70
add esp, 8
xor ecx, ecx
fldz
fld dword [esp + 0x58]
fld dword [esp + 0x5c]
fxch st(1)
mov edx, dword [esp + 0x34]
xor esi, esi
test bl, 0x10
jne 0x1005f702
test ecx, ecx
jne 0x1005f55b
cmp dword [edi + 0x15a4], esi
je 0x1005f55b
fstp st(2)
fld dword [edi + 0x1570]
fadd dword [esp + 0x60]
jmp 0x1005f55d
fxch st(2)
cmp byte [esp + 0x50], 0
faddp st(1)
fld1
fadd st(1), st(0)
fld dword [0x101a87a0]
faddp st(3)
fxch st(1)
fstp dword [edx + 0xcc]
fxch st(1)
fstp dword [edx + 0xd0]
je 0x1005f587
fstp st(0)
fld dword [ebp + 0xc]
fld dword [ebp]
lea eax, [esp + 0x70]
fstp dword [esp + 0x70]
fld dword [ebp + 4]
fstp dword [esp + 0x74]
fld dword [ebp + 8]
fstp dword [esp + 0x78]
fstp dword [esp + 0x7c]
fld dword [0x101abaa8]
fst dword [esp + 0x28]
fstp dword [esp + 0x2c]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push ebx
push eax
push str.ColorButton
call fcn.1005e800
add esp, 0x14
test al, al
je 0x1005f649
test bl, 4
jne 0x1005f649
mov eax, dword [esp + 0x70]
mov dword [edi + 0x2d74], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 0x2d78], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 0x2d7c], eax
mov eax, dword [esp + 0x7c]
push 0
push str.picker
mov dword [edi + 0x2d80], eax
call fcn.10042b10
fldz
mov eax, dword [esp + 0x3c]
fst dword [esp + 0x30]
fstp dword [esp + 0x34]
fld dword [eax + 0x118]
fld1
fsubp st(1)
fstp dword [esp + 0x70]
fld dword [eax + 0x124]
lea eax, [esp + 0x30]
fadd dword [edi + 0x156c]
push eax
lea eax, [esp + 0x74]
push 0
push eax
fstp dword [esp + 0x80]
call fcn.10046be0
add esp, 0x14
test bl, 8
jne 0x1005f65d
push 1
push str.context
call fcn.10042b70
add esp, 8
fld dword [0x101a87a0]
lea eax, [esp + 0x28]
push eax
fst dword [esp + 0x2c]
push 0xe
fstp dword [esp + 0x34]
call fcn.100435d0
fld dword [0x101aace4]
lea eax, [esp + 0x30]
push eax
fst dword [esp + 0x34]
push 1
fstp dword [esp + 0x3c]
call fcn.100435d0
push 0x80000084
push str.picker
call fcn.10039160
add esp, 0x18
test al, al
je 0x1005f6f6
mov eax, dword [edi + 0x1a10]
fld dword [0x101afbcc]
push ecx
fstp dword [esp]
or dword [eax + 0xc], 1
mov esi, dword [edi + 0x1a10]
call fcn.10046bc0
lea eax, [edi + 0x2d74]
push eax
mov eax, dword [esp + 0x88]
and eax, 0x1f890002
or eax, 0x740080
push eax
push ebp
push 0x101abb1c
call fcn.1005fd40
or byte [esp + 0x26], al
add esp, 0x14
call fcn.1003b7a0
push 2
call fcn.10043110
add esp, 4
jmp 0x1005f708
fstp st(1)
fstp st(0)
fstp st(0)
cmp byte [esp + 0x12], 0
je 0x1005f828
test esi, esi
jne 0x1005f828
cmp byte [esp + 0x13], 0
jne 0x1005f756
fild dword [esp + 0x3c]
fld dword [0x101aacd4]
fmul st(1), st(0)
fxch st(1)
fst dword [esp + 0x18]
fild dword [esp + 0x40]
fmul st(2)
fstp dword [esp + 0x1c]
fild dword [esp + 0x44]
fmul st(2)
fstp dword [esp + 0x20]
fild dword [esp + 0x48]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x24]
jmp 0x1005f75a
fld dword [esp + 0x18]
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x1005f7cb
fstp dword [edi + 0x2d60]
fld dword [esp + 0x1c]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
fstp dword [edi + 0x2d64]
fld dword [esp + 0x28]
lea eax, [esp + 0x20]
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x30]
fstp dword [esp]
call fcn.1003a710
mov eax, dword [esp + 0x30]
add esp, 0x18
mov dword [edi + 0x2d68], eax
mov eax, dword [esp + 0x1c]
mov dword [edi + 0x2d6c], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x2d70], eax
fld dword [esp + 0x18]
cmp dword [esp + 0x84], 0x10100000
jne 0x1005f809
fld dword [esp + 0x20]
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x20]
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.1003a840
fld dword [esp + 0x30]
add esp, 0x18
cmp byte [esp + 0x50], 0
fstp dword [ebp]
fld dword [esp + 0x1c]
fstp dword [ebp + 4]
fld dword [esp + 0x20]
fstp dword [ebp + 8]
je 0x1005f828
fld dword [esp + 0x24]
fstp dword [ebp + 0xc]
call fcn.10042ff0
call fcn.1003b4f0
mov ecx, dword [esp + 0x34]
test byte [ecx + 0x114], 1
je 0x1005f8fd
test ebx, 0x200
jne 0x1005f8fd
call fcn.10038f90
test al, al
je 0x1005f8f9
push 0
push str._COL3F
mov byte [esp + 0x1b], 0
call fcn.100363e0
add esp, 8
test eax, eax
je 0x1005f891
mov ecx, dword [eax]
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], 1
mov eax, dword [ecx]
mov dword [ebp], eax
mov eax, dword [ecx + 4]
mov dword [ebp + 4], eax
mov eax, dword [ecx + 8]
mov dword [ebp + 8], eax
push 0
push str._COL4F
call fcn.100363e0
add esp, 8
test eax, eax
je 0x1005f8be
mov ecx, dword [esp + 0x30]
shl ecx, 2
push ecx
push dword [eax]
push ebp
call fcn.10163cd0
add esp, 0xc
mov byte [esp + 0x12], 1
jmp 0x1005f8c5
cmp byte [esp + 0x13], 0
je 0x1005f8f4
test ebx, 0x10000000
je 0x1005f8f4
fld dword [ebp + 8]
lea ecx, [ebp + 8]
push ecx
lea eax, [ebp + 4]
push eax
push ebp
sub esp, 0xc
fstp dword [esp + 8]
fld dword [eax]
fstp dword [esp + 4]
fld dword [ebp]
fstp dword [esp]
call fcn.1003a840
add esp, 0x18
call fcn.1003b240
mov ecx, dword [esp + 0x34]
pop ebp
test esi, esi
je 0x1005f91a
mov eax, dword [edi + 0x1a44]
test eax, eax
je 0x1005f91a
cmp dword [edi + 0x1a70], esi
jne 0x1005f91a
mov dword [ecx + 0x110], eax
mov bl, byte [esp + 0xe]
pop esi
test bl, bl
je 0x1005f931
push dword [ecx + 0x110]
call fcn.1003f180
add esp, 4
pop edi
mov al, bl
pop ebx
add esp, 0xb8
ret