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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bc73b
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push esi
push edi
mov eax, dword [0x4f52c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
xor ebx, ebx
cmp eax, ebx
je 0x4760a2
cmp esi, ebx
je 0x4760a2
cmp ecx, ebx
je 0x47606f
mov ecx, dword [ecx + 4]
cmp ecx, ebx
je 0x47606f
mov cl, byte [ecx + 0xaa]
mov byte [esi + 0xaa], cl
mov dword [ebp - 0x18], ebx
mov dword [ebp - 4], 1
mov edx, dword [eax]
mov edx, dword [edx + 0x44]
lea ecx, [ebp - 0x18]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x18]
cmp eax, ebx
jne 0x4760bb
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x4760a2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea edx, [ebp - 0x24]
mov dword [ebp - 0x24], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0x10], ebx
call eax
xor edi, edi
mov dword [ebp - 0x28], edi
cmp dword [ebp - 0x24], ebx
jle 0x476eba
jmp 0x4760e0
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
push edi
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp dword [ebp - 0x14], ebx
je 0x476e60
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push eax
mov eax, dword [ecx + 0x1c]
call eax
lea ecx, [ebp - 0x50]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
mov edx, dword [edx + 0x20]
lea ecx, [ebp - 0x50]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x476e44
cmp word [ebp - 0x50], 8
jne 0x476e44
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x20]
call fcn.00401d40
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x48]
lea edx, [ebp + 0xc]
push edx
call fcn.00401d40
mov byte [ebp - 4], 8
lea edi, [ebp - 0x1c]
call fcn.00401890
mov eax, dword [ebp - 0x1c]
push 0x4c9d34
push eax
call fcn.0049ae11
add esp, 8
test eax, eax
jne 0x476195
lea edi, [esi + 0xc]
jmp 0x476e1e
mov eax, dword [ebp - 0x1c]
mov edx, 0x4d6820
mov ecx, eax
nop
mov si, word [ecx]
cmp si, word [edx]
jne 0x4761c6
cmp si, bx
je 0x4761c2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4761c6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4761a0
xor ecx, ecx
jmp 0x4761cb
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4761da
mov edi, dword [ebp + 0x10]
add edi, 0xc
jmp 0x476e1e
mov edx, str.size
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x476207
cmp si, bx
je 0x476203
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476207
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4761e1
xor ecx, ecx
jmp 0x47620c
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x47622f
mov ecx, dword [ebp + 0xc]
push ecx
lea esi, [ebp - 0x30]
call fcn.004673b0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [ebp + 0x10]
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x20], eax
jmp 0x476e26
mov edx, str.margin
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x47625c
cmp si, bx
je 0x476258
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x47625c
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476236
xor ecx, ecx
jmp 0x476261
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476294
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push edx
push eax
lea ecx, [ebp - 0x60]
call fcn.00466d10
mov edx, dword [eax]
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x24], edx
mov edx, dword [eax + 4]
mov dword [ecx + 0x28], edx
mov edx, dword [eax + 8]
mov dword [ecx + 0x2c], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0x30], eax
jmp 0x476e26
mov edx, str.direction
mov ecx, eax
jmp 0x4762a0
mov si, word [ecx]
cmp si, word [edx]
jne 0x4762c6
cmp si, bx
je 0x4762c2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4762c6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4762a0
xor ecx, ecx
jmp 0x4762cb
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476301
mov eax, dword [ebp + 0xc]
push str.LEFT_TO_RIGHT
push eax
mov esi, eax
call fcn.0049ae11
add esp, 8
test eax, eax
jne 0x4762f1
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x34], eax
jmp 0x476e26
call fcn.00475f50
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x34], eax
jmp 0x476e26
mov edx, str.horizoncenter
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x47632e
cmp si, bx
je 0x47632a
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x47632e
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476308
xor ecx, ecx
jmp 0x476333
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x47638d
mov eax, dword [ebp + 0xc]
mov ecx, 0x4d6794
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476376
cmp dx, bx
je 0x476362
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476376
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x476340
xor eax, eax
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp + 0x10]
sete dl
mov dword [eax + 0x38], edx
jmp 0x476e26
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp + 0x10]
sete dl
mov dword [eax + 0x38], edx
jmp 0x476e26
mov edx, str.verticalcenter
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x4763ba
cmp si, bx
je 0x4763b6
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4763ba
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476394
xor ecx, ecx
jmp 0x4763bf
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x47641d
mov eax, dword [ebp + 0xc]
mov ecx, 0x4d6794
jmp 0x4763d0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476406
cmp dx, bx
je 0x4763f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476406
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4763d0
mov edx, dword [ebp + 0x10]
xor ecx, ecx
xor eax, eax
cmp eax, ebx
sete cl
mov dword [edx + 0x3c], ecx
jmp 0x476e26
mov edx, dword [ebp + 0x10]
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [edx + 0x3c], ecx
jmp 0x476e26
mov edx, str.forcelayout
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x47644a
cmp si, bx
je 0x476446
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x47644a
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476424
xor ecx, ecx
jmp 0x47644f
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4764ad
mov eax, dword [ebp + 0xc]
mov ecx, 0x4d6794
jmp 0x476460
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476496
cmp dx, bx
je 0x476482
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476496
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x476460
mov edx, dword [ebp + 0x10]
xor ecx, ecx
xor eax, eax
cmp eax, ebx
sete cl
mov dword [edx + 0x40], ecx
jmp 0x476e26
mov edx, dword [ebp + 0x10]
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [edx + 0x40], ecx
jmp 0x476e26
mov edx, str.overlap
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x4764da
cmp si, bx
je 0x4764d6
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4764da
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4764b4
xor ecx, ecx
jmp 0x4764df
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4764ee
mov edi, dword [ebp + 0x10]
add edi, 0x44
jmp 0x476e1e
mov edx, str.position
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x47651b
cmp si, bx
je 0x476517
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x47651b
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4764f5
xor ecx, ecx
jmp 0x476520
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x47655f
mov esi, dword [ebp + 0x10]
lea edi, [esi + 0x58]
lea eax, [ebp + 0xc]
call fcn.00404260
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.00466d10
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [esi + 0x48], edx
mov edx, dword [ebp - 0x34]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edx
jmp 0x476e26
mov edx, str.tooltip
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x47658c
cmp si, bx
je 0x476588
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x47658c
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476566
xor ecx, ecx
jmp 0x476591
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4765ce
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
jle 0x476e26
movzx eax, word [ecx]
add eax, 0xffffffd0
cmp ax, 9
ja 0x4765c3
push ecx
call fcn.0049bb52
mov ecx, dword [ebp + 0x10]
add esp, 4
mov dword [ecx + 0x60], eax
jmp 0x476e26
mov edi, dword [ebp + 0x10]
add edi, 0x68
jmp 0x476e1e
mov edx, str.checktooltip
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x4765fb
cmp si, bx
je 0x4765f7
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4765fb
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4765d5
xor ecx, ecx
jmp 0x476600
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476636
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx - 0xc]
cmp eax, ebx
jle 0x476e26
movzx eax, word [ecx]
add eax, 0xffffffd0
cmp ax, 9
ja 0x476e26
push ecx
call fcn.0049bb52
mov edx, dword [ebp + 0x10]
add esp, 4
mov dword [edx + 0x64], eax
jmp 0x476e26
mov edx, str.borderwidth
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476666
cmp si, bx
je 0x476662
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476666
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476640
xor ecx, ecx
jmp 0x47666b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476689
mov eax, dword [ebp + 0xc]
push eax
call fcn.0049bb52
mov ecx, dword [ebp + 0x10]
add esp, 4
mov dword [ecx + 0x94], eax
jmp 0x476e26
mov edx, str.visible
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x4766b6
cmp si, bx
je 0x4766b2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4766b6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476690
xor ecx, ecx
jmp 0x4766bb
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476716
mov esi, dword [ebp + 0x10]
cmp byte [esi + 0x18], bl
jne 0x476e26
mov eax, dword [ebp + 0xc]
mov ecx, str.hide
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476704
cmp dx, bx
je 0x4766f5
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476704
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4766d3
xor eax, eax
cmp eax, ebx
setne dl
mov byte [esi + 0x19], dl
jmp 0x476e26
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
setne dl
mov byte [esi + 0x19], dl
jmp 0x476e26
mov edx, str.command
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476746
cmp si, bx
je 0x476742
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476746
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476720
xor ecx, ecx
jmp 0x47674b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476773
mov esi, dword [ebp + 0x10]
lea edi, [esi + 0x10]
lea eax, [ebp + 0xc]
call fcn.00404260
mov edx, dword [ebp + 0xc]
mov eax, dword [edx - 0xc]
lea ecx, [eax + eax]
call fcn.00466280
mov dword [esi + 0x14], eax
jmp 0x476e26
mov edx, str.backcolor
mov ecx, eax
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x4767a6
cmp si, bx
je 0x4767a2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4767a6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476780
xor ecx, ecx
jmp 0x4767ab
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4767c3
mov eax, dword [ebp + 0xc]
push eax
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x70], eax
jmp 0x476e26
mov edx, str.textcolor
mov ecx, eax
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x4767f6
cmp si, bx
je 0x4767f2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4767f6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4767d0
xor ecx, ecx
jmp 0x4767fb
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x47681c
mov edx, dword [ebp + 0xc]
push edx
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x80], eax
mov dword [ecx + 0x84], eax
jmp 0x476e26
mov edx, str.selectbackcolor
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x476849
cmp si, bx
je 0x476845
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476849
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476823
xor ecx, ecx
jmp 0x47684e
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476866
mov eax, dword [ebp + 0xc]
push eax
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x74], eax
jmp 0x476e26
mov edx, str.disablebackcolor
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476896
cmp si, bx
je 0x476892
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476896
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476870
xor ecx, ecx
jmp 0x47689b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4768b3
mov edx, dword [ebp + 0xc]
push edx
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x7c], eax
jmp 0x476e26
mov edx, str.selecttextcolor
mov ecx, eax
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x4768e6
cmp si, bx
je 0x4768e2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4768e6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4768c0
xor ecx, ecx
jmp 0x4768eb
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476906
mov edx, dword [ebp + 0xc]
push edx
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x84], eax
jmp 0x476e26
mov edx, str.disablecolor
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476936
cmp si, bx
je 0x476932
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476936
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476910
xor ecx, ecx
jmp 0x47693b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476956
mov edx, dword [ebp + 0xc]
push edx
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x8c], eax
jmp 0x476e26
mov edx, str.mousehoverbackcolor
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476986
cmp si, bx
je 0x476982
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476986
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476960
xor ecx, ecx
jmp 0x47698b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4769a3
mov edx, dword [ebp + 0xc]
push edx
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x78], eax
jmp 0x476e26
mov edx, str.mousehovertextcolor
mov ecx, eax
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x4769d6
cmp si, bx
je 0x4769d2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x4769d6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x4769b0
xor ecx, ecx
jmp 0x4769db
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x4769f6
mov edx, dword [ebp + 0xc]
push edx
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x88], eax
jmp 0x476e26
mov edx, str.bordercolor
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476a26
cmp si, bx
je 0x476a22
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476a26
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476a00
xor ecx, ecx
jmp 0x476a2b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476a46
mov edx, dword [ebp + 0xc]
push edx
call fcn.004672b0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x90], eax
jmp 0x476e26
mov edx, str.mixcolor
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476a76
cmp si, bx
je 0x476a72
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476a76
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476a50
xor ecx, ecx
jmp 0x476a7b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476aca
mov edx, dword [ebp + 0xc]
push str.disable
push edx
call fcn.0049ae11
add esp, 8
test eax, eax
jne 0x476aa2
mov eax, dword [ebp + 0x10]
mov byte [eax + 0xaa], bl
jmp 0x476e26
mov ecx, dword [ebp + 0xc]
push str.enable
push ecx
call fcn.0049ae11
add esp, 8
test eax, eax
jne 0x476e26
mov edx, dword [ebp + 0x10]
mov byte [edx + 0xaa], 1
jmp 0x476e26
mov edx, str.transparent
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x476af7
cmp si, bx
je 0x476af3
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476af7
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476ad1
xor ecx, ecx
jmp 0x476afc
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476b57
mov eax, dword [ebp + 0xc]
mov ecx, 0x4d6794
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476b3f
cmp dx, bx
je 0x476b2a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476b3f
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x476b08
mov ecx, dword [ebp + 0x10]
xor eax, eax
cmp eax, ebx
sete al
mov byte [ecx + 0xa9], al
jmp 0x476e26
mov ecx, dword [ebp + 0x10]
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
sete al
mov byte [ecx + 0xa9], al
jmp 0x476e26
mov edx, str.mixbk
mov ecx, eax
mov edi, edi
mov si, word [ecx]
cmp si, word [edx]
jne 0x476b86
cmp si, bx
je 0x476b82
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476b86
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476b60
xor ecx, ecx
jmp 0x476b8b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476be6
mov eax, dword [ebp + 0xc]
mov ecx, 0x4d6794
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476bce
cmp dx, bx
je 0x476bb9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476bce
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x476b97
xor eax, eax
cmp eax, ebx
mov eax, dword [ebp + 0x10]
sete dl
mov byte [eax + 0xab], dl
jmp 0x476e26
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
mov eax, dword [ebp + 0x10]
sete dl
mov byte [eax + 0xab], dl
jmp 0x476e26
mov edx, str.image
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x476c16
cmp si, bx
je 0x476c12
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476c16
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476bf0
xor ecx, ecx
jmp 0x476c1b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476c39
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push ecx
push ebx
push edx
push eax
mov eax, dword [ebp + 8]
call fcn.00477550
jmp 0x476e26
mov edx, str.fontname
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x476c66
cmp si, bx
je 0x476c62
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476c66
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476c40
xor ecx, ecx
jmp 0x476c6b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476cae
cmp dword [ebp - 0x10], ebx
jne 0x476ca6
push 0xc
call fcn.0049948f
add esp, 4
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 9
cmp eax, ebx
je 0x476c9d
push eax
call fcn.00475fc0
mov byte [ebp - 4], 8
mov dword [ebp - 0x10], eax
mov edi, eax
jmp 0x476e1e
xor eax, eax
mov byte [ebp - 4], 8
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0x10]
jmp 0x476e1e
mov edx, str.fontsize
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x476cdb
cmp si, bx
je 0x476cd7
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476cdb
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476cb5
xor ecx, ecx
jmp 0x476ce0
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476d30
mov esi, dword [ebp - 0x10]
cmp esi, ebx
jne 0x476d13
push 0xc
call fcn.0049948f
add esp, 4
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0xa
cmp eax, ebx
je 0x476d08
push eax
call fcn.00475fc0
jmp 0x476d0a
xor eax, eax
mov byte [ebp - 4], 8
mov esi, eax
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.0049bb52
mov edx, dword [ebp + 0x10]
mov dword [esi + 4], eax
add esp, 4
mov dword [edx + 0xa4], eax
jmp 0x476e26
mov edx, str.fontbold
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x476d5d
cmp si, bx
je 0x476d59
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x476d5d
add ecx, 4
add edx, 4
cmp si, bx
jne 0x476d37
xor ecx, ecx
jmp 0x476d62
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x476de1
mov esi, dword [ebp - 0x10]
cmp esi, ebx
jne 0x476d95
push 0xc
call fcn.0049948f
add esp, 4
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0xb
cmp eax, ebx
je 0x476d8a
push eax
call fcn.00475fc0
jmp 0x476d8c
xor eax, eax
mov byte [ebp - 4], 8
mov esi, eax
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 0xc]
mov ecx, 0x4d6794
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476dd0
cmp dx, bx
je 0x476dc2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476dd0
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x476da0
xor ecx, ecx
xor eax, eax
cmp eax, ebx
sete cl
mov dword [esi + 8], ecx
jmp 0x476e26
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
cmp eax, ebx
sete cl
mov dword [esi + 8], ecx
jmp 0x476e26
mov ecx, str.text
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x476e0c
cmp dx, bx
je 0x476e08
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x476e0c
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x476de6
xor eax, eax
jmp 0x476e11
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x476e26
mov edi, dword [ebp + 0x10]
add edi, 0x98
lea eax, [ebp + 0xc]
call fcn.00404260
mov byte [ebp - 4], 7
lea ecx, [ebp + 0xc]
call fcn.00401980
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.00401980
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp + 0x10]
mov byte [ebp - 4], 5
lea edx, [ebp - 0x50]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 1
lea eax, [ebp - 0x14]
call fcn.00402c00
inc edi
mov dword [ebp - 0x28], edi
cmp edi, dword [ebp - 0x24]
jl 0x4760e0
cmp dword [ebp - 0x10], ebx
je 0x476eba
mov edi, dword [ebp - 0x10]
cmp dword [edi + 8], ebx
mov edx, dword [edi]
setne cl
movzx eax, cl
mov ecx, dword [edi + 4]
push eax
mov esi, 0x4fb458
call fcn.004652e0
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0xa0], eax
mov dword [ebp + 0x10], edi
mov byte [ebp - 4], 1
mov ecx, edi
call fcn.00401980
push edi
call fcn.00499080
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x476ed0
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10