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

Disassembly:
push 0xffffffffffffffff
push 0x4ea396
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x512054]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xbc]
push ebx
push ebp
push edx
mov edx, dword [esp + 0xc4]
xor edi, edi
mov dword [esp + 0x58], edi
mov eax, dword [ecx]
mov eax, dword [eax]
push edx
lea edx, [esp + 0x4c]
push edx
call eax
mov dword [esp + 0xa8], edi
cmp dword [esp + 0x44], 0xffffffff
je 0x460165
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add eax, 0xfffffff0
mov dword [esi], ecx
call fcn.004065a0
mov edx, dword [esp + 0x44]
add eax, 0x10
mov dword [esi + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
jmp 0x4615a8
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xbc]
call fcn.00406bd0
mov byte [esp + 0xa8], 1
mov edx, dword [esp + 0x34]
push 0x4fb220
push edx
call fcn.004c9c08
add esp, 8
cmp eax, edi
jne 0x46036b
lea edi, [ebp + 0x2c]
mov esi, str.text
call fcn.00474270
test eax, eax
je 0x461483
mov eax, dword [eax + 0x18]
add eax, 8
mov dword [esp + 0x28], eax
je 0x461483
push 0x84
call fcn.004c99ad
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0xa8], 2
test eax, eax
je 0x4601e4
push eax
call fcn.00457350
mov ebx, eax
jmp 0x4601e6
xor ebx, ebx
mov eax, dword [esp + 0xc4]
mov byte [esp + 0xa8], 1
mov ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x14]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
xor ebp, ebp
test eax, eax
jle 0x460268
lea edi, [ebx + 0x58]
jmp 0x460220
mov esi, dword [esp + 0xc4]
push ebp
call fcn.0045c030
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x4c]
push ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], edx
call fcn.004581e0
mov eax, esi
mov ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x14]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
inc ebp
add eax, edx
cmp ebp, eax
jl 0x460220
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 3
mov eax, dword [eax]
push eax
mov eax, ebx
call fcn.00457520
mov byte [esp + 0xa8], 1
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4602b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [esp + 0xc0]
mov esi, str.line_height
add edi, 0x2c
call fcn.00474270
xor ebp, ebp
cmp eax, ebp
je 0x4602e4
mov eax, dword [eax + 0x18]
add eax, 8
cmp eax, ebp
je 0x4602e4
push eax
call fcn.004cbdea
add esp, 4
mov dword [ebx + 0x78], eax
mov esi, str.line_align
call fcn.00474270
cmp eax, ebp
je 0x460308
mov eax, dword [eax + 0x18]
add eax, 8
cmp eax, ebp
je 0x460308
push eax
call fcn.004cbdea
add esp, 4
mov dword [ebx + 0x7c], eax
mov ecx, dword [esp + 0xc4]
mov ecx, dword [ecx + 0x20]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], ebp
mov dword [ebx + 0x24], ebp
mov dword [ebx + 4], 3
mov dword [ebx + 8], ebp
mov dword [ebx + 0xc], ebp
mov dword [ebx + 0x10], ebp
mov dword [ebx + 0x14], ebp
mov dword [ebx + 0x18], ebp
mov edx, dword [ecx]
mov eax, dword [edx]
push ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x24]
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x30]
push ebp
push ebp
mov ecx, ebx
call eax
mov edx, dword [ebx]
mov eax, dword [edx + 0x34]
push ebp
push ebp
mov ecx, ebx
call eax
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0x48], ebx
jmp 0x461483
mov ecx, dword [esp + 0x34]
push str.static
push ecx
call fcn.004c9c08
add esp, 8
cmp eax, edi
jne 0x460461
push ebp
mov ecx, 0x51b9a0
call fcn.00422200
push 0x50
mov ebx, eax
call fcn.004c99ad
mov esi, eax
add esp, 4
mov dword [esp + 0x4c], esi
mov byte [esp + 0xa8], 4
cmp esi, edi
je 0x4603de
push esi
call fcn.00461c20
mov byte [esp + 0xa8], 5
mov dword [esi], vtable.CSomWndTipImpl_class_CSomStatic_.0
mov edx, dword [0x5195ac]
mov eax, dword [edx + 0xc]
mov ecx, 0x5195ac
call eax
add eax, 0x10
mov dword [esi + 0x4c], eax
mov dword [esp + 0x18], esi
jmp 0x4603e2
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0xc4]
mov byte [esp + 0xa8], 1
mov ecx, dword [ecx + 0x20]
mov esi, dword [esp + 0x18]
mov eax, 3
call fcn.004246c0
mov edi, esi
call fcn.00462070
lea edi, [ebp + 0x2c]
mov esi, str.text
call fcn.00474270
test eax, eax
je 0x460454
mov eax, dword [eax + 0x18]
add eax, 8
je 0x460454
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 6
mov edi, dword [eax]
mov esi, dword [esp + 0x18]
call fcn.004460c0
lea ecx, [esp + 0x28]
mov byte [esp + 0xa8], 1
call fcn.00406e40
mov dword [esp + 0x44], 0
jmp 0x46147b
mov ecx, dword [esp + 0x34]
push str.ltext
push ecx
call fcn.004c9c08
add esp, 8
cmp eax, edi
jne 0x4608fa
push 0x54
call fcn.004c99ad
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0xa8], 7
cmp eax, edi
je 0x4604a1
push eax
call fcn.004344f0
mov dword [esp + 0x18], eax
jmp 0x4604a5
mov dword [esp + 0x18], edi
mov byte [esp + 0xa8], 1
mov ecx, dword [ebx + 0x20]
mov esi, dword [esp + 0x18]
mov eax, 3
call fcn.004246c0
lea edi, [ebp + 0x2c]
mov esi, str.text
call fcn.00474270
test eax, eax
je 0x46050b
mov eax, dword [eax + 0x18]
add eax, 8
je 0x46050b
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 8
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x1c]
push eax
call fcn.00436110
lea ecx, [esp + 0x28]
mov byte [esp + 0xa8], 1
call fcn.00406e40
lea ebx, [esp + 0x24]
mov ecx, 0x4fab88
mov eax, ebp
mov dword [esp + 0x24], 0
call fcn.00473190
test eax, eax
je 0x46055a
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0xc4]
push ecx
call fcn.0045c030
mov esi, eax
test esi, esi
je 0x46055a
mov eax, dword [esi]
mov edi, dword [esp + 0x18]
mov dword [edi + 0x38], eax
mov edx, dword [edi]
mov eax, dword [edx + 0x60]
mov ecx, edi
call eax
mov ecx, dword [esi + 8]
mov eax, edi
call fcn.004344d0
mov esi, 0x4f6ca8
lea edi, [ebp + 0x2c]
call fcn.00474270
test eax, eax
je 0x460573
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x460575
xor esi, esi
lea ecx, [esp + 0x88]
push ecx
call fcn.00428680
lea edx, [esp + 0x1c]
mov bl, 9
push edx
mov ecx, 0x4f84ac
mov byte [esp + 0xac], bl
call fcn.00406bd0
lea eax, [esp + 0x28]
push esi
push eax
mov byte [esp + 0xb0], 0xa
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0xb
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
mov ecx, eax
call fcn.00406bd0
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0xb0], 0xc
call fcn.0046ef00
add esp, 8
lea ecx, [esp + 0x20]
call fcn.00406e40
lea ecx, [esp + 0x28]
call fcn.00406e40
lea ecx, [esp + 0x1c]
mov byte [esp + 0xa8], bl
call fcn.00406e40
mov ecx, dword [esp + 0x98]
sub ecx, dword [esp + 0x94]
and ecx, 0xfffffffc
cmp ecx, 0xc
jne 0x460686
xor edi, edi
lea esi, [esp + 0x88]
call fcn.00421090
mov ebx, dword [eax]
mov edi, 1
call fcn.00421090
mov edx, dword [eax]
mov edi, 2
mov dword [esp + 0x28], edx
call fcn.00421090
mov eax, dword [eax]
push eax
call fcn.004ca56b
movzx edi, al
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
shl edi, 8
call fcn.004ca56b
movzx esi, al
add esp, 4
or esi, edi
push ebx
shl esi, 8
call fcn.004ca56b
movzx ecx, al
mov eax, dword [esp + 0x1c]
add esp, 4
or ecx, esi
call fcn.004344d0
mov esi, str.linkColor
lea edi, [ebp + 0x2c]
call fcn.00474270
test eax, eax
je 0x46069f
mov ebx, dword [eax + 0x18]
add ebx, 8
jmp 0x4606a1
xor ebx, ebx
mov esi, str.linkOverColor
call fcn.00474270
test eax, eax
je 0x4606b7
mov esi, dword [eax + 0x18]
add esi, 8
jmp 0x4606b9
xor esi, esi
lea ecx, [esp + 0x70]
push ecx
call fcn.00428680
lea edx, [esp + 0x58]
push edx
mov byte [esp + 0xac], 0xd
call fcn.00428680
lea eax, [esp + 0x20]
push eax
mov ecx, 0x4f84ac
mov byte [esp + 0xac], 0xe
call fcn.00406bd0
lea ecx, [esp + 0x28]
push ebx
push ecx
mov byte [esp + 0xb0], 0xf
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x10
mov eax, dword [eax]
lea edx, [esp + 0x1c]
push edx
mov ecx, eax
call fcn.00406bd0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x78]
mov byte [esp + 0xb0], 0x11
call fcn.0046ef00
add esp, 8
lea ecx, [esp + 0x1c]
call fcn.00406e40
lea ecx, [esp + 0x28]
call fcn.00406e40
lea ecx, [esp + 0x20]
mov byte [esp + 0xa8], 0xe
call fcn.00406e40
lea edx, [esp + 0x20]
push edx
mov ecx, 0x4f84ac
call fcn.00406bd0
lea eax, [esp + 0x28]
push esi
push eax
mov byte [esp + 0xb0], 0x12
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x13
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
call fcn.00406bd0
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0xb0], 0x14
call fcn.0046ef00
add esp, 8
lea ecx, [esp + 0x1c]
call fcn.00406e40
lea ecx, [esp + 0x28]
call fcn.00406e40
lea ecx, [esp + 0x20]
call fcn.00406e40
mov ecx, dword [esp + 0x80]
sub ecx, dword [esp + 0x7c]
and ecx, 0xfffffffc
cmp ecx, 0xc
jne 0x4608bf
mov edx, dword [esp + 0x68]
sub edx, dword [esp + 0x64]
and edx, 0xfffffffc
cmp edx, ecx
jne 0x4608bf
xor edi, edi
lea esi, [esp + 0x70]
call fcn.00421090
mov ebx, dword [eax]
mov edi, 1
call fcn.00421090
mov eax, dword [eax]
mov edi, 2
mov dword [esp + 0x28], eax
call fcn.00421090
mov eax, dword [eax]
push eax
call fcn.004ca56b
mov ecx, dword [esp + 0x2c]
movzx edi, al
add esp, 4
push ecx
shl edi, 8
call fcn.004ca56b
movzx esi, al
add esp, 4
or esi, edi
push ebx
shl esi, 8
call fcn.004ca56b
movzx ebx, al
or ebx, esi
add esp, 4
xor edi, edi
lea esi, [esp + 0x58]
call fcn.00421090
mov edx, dword [eax]
mov edi, 1
mov dword [esp + 0x30], edx
call fcn.00421090
mov eax, dword [eax]
mov edi, 2
mov dword [esp + 0x28], eax
call fcn.00421090
mov eax, dword [eax]
push eax
call fcn.004ca56b
mov ecx, dword [esp + 0x2c]
movzx edi, al
add esp, 4
push ecx
shl edi, 8
call fcn.004ca56b
mov edx, dword [esp + 0x34]
movzx esi, al
add esp, 4
or esi, edi
push edx
shl esi, 8
call fcn.004ca56b
mov ecx, dword [esp + 0x1c]
movzx eax, al
add esp, 4
or eax, esi
mov dword [ecx + 0x40], ebx
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x18]
lea esi, [esp + 0x58]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], 0
call fcn.00416810
lea esi, [esp + 0x70]
call fcn.00416810
lea esi, [esp + 0x88]
mov byte [esp + 0xa8], 1
call fcn.00416810
jmp 0x461483
mov ecx, dword [esp + 0x34]
push str.button_state4
push ecx
call fcn.004c9c08
add esp, 8
cmp eax, edi
jne 0x460ac4
mov esi, str.text
mov eax, ebp
call fcn.00473170
mov dword [esp + 0x1c], eax
mov esi, str.tooltip
mov eax, ebp
call fcn.00473170
push eax
lea edx, [esp + 0x2c]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x15
mov eax, dword [eax]
lea ecx, [esp + 0x24]
push ecx
mov edi, eax
call fcn.00453200
lea ecx, [esp + 0x28]
mov byte [esp + 0xa8], 0x17
call fcn.00406e40
push str.block
lea eax, [ebx + 0x80]
push ebp
push eax
mov ecx, str.img_src
call fcn.00451eb0
mov edi, eax
test edi, edi
je 0x460aae
push 0x48
call fcn.004c99ad
mov esi, eax
add esp, 4
mov dword [esp + 0x4c], esi
mov byte [esp + 0xa8], 0x18
test esi, esi
je 0x4609ce
push esi
call fcn.00454cb0
mov byte [esp + 0xa8], 0x19
mov dword [esi], vtable.CSomWndTipImpl_class_CSomButton4_.0
mov edx, dword [0x5195ac]
mov eax, dword [edx + 0xc]
mov ecx, 0x5195ac
call eax
add eax, 0x10
mov dword [esi + 0x44], eax
jmp 0x4609d0
xor esi, esi
mov edx, dword [esp + 0xbc]
mov byte [esp + 0xa8], 0x17
mov ebx, dword [ebx + 0x20]
mov eax, 3
mov ecx, ebx
mov dword [esp + 0x18], esi
call fcn.004548f0
mov dword [esi + 0x38], edi
call fcn.00436c00
cmp dword [esp + 0x1c], 0
je 0x460a35
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x34]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x1a
mov edi, dword [eax]
mov eax, esi
call fcn.00436ce0
lea ecx, [esp + 0x30]
mov byte [esp + 0xa8], 0x17
call fcn.00406e40
mov eax, dword [esp + 0x24]
test eax, eax
je 0x460a41
mov esi, dword [eax]
jmp 0x460a43
xor esi, esi
mov edi, dword [esp + 0x18]
mov eax, edi
call fcn.004617e0
push ebp
mov ecx, 0x51b9a0
call fcn.00422200
mov ebx, eax
call fcn.00462030
mov ecx, 0x4fb294
mov eax, ebp
call fcn.00472e40
xor edi, edi
cmp eax, edi
je 0x460aa2
push str.block
push eax
mov eax, dword [esp + 0xcc]
sub eax, 0xffffff80
push eax
mov ecx, str.img_src
call fcn.00451eb0
cmp eax, edi
je 0x460aa2
mov esi, dword [esp + 0x18]
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], eax
call fcn.00436c00
jmp 0x460aa6
mov esi, dword [esp + 0x18]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], edi
lea edi, [esp + 0x24]
mov byte [esp + 0xa8], 1
call fcn.00437b00
jmp 0x461483
lea eax, [esp + 0x34]
push eax
mov ecx, 0x4fb298
call fcn.00406310
test eax, eax
jne 0x460b3f
push str.block
push ebp
lea ecx, [ebx + 0x80]
push ecx
mov ecx, str.img_src
call fcn.00451eb0
mov dword [esp + 0x28], eax
cmp eax, edi
je 0x461483
push 0x38
call fcn.004c99ad
add esp, 4
cmp eax, edi
je 0x460b11
call fcn.00454a80
mov esi, eax
jmp 0x460b13
xor esi, esi
mov ebx, dword [ebx + 0x20]
mov edx, dword [esp + 0xbc]
mov eax, 3
mov ecx, ebx
call fcn.004548f0
mov eax, dword [esp + 0x28]
call fcn.00409240
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], edi
jmp 0x461483
lea edx, [esp + 0x34]
push edx
mov ecx, str.SysButton
call fcn.00406310
test eax, eax
jne 0x460d37
push 0x50
call fcn.004c99ad
add esp, 4
cmp eax, edi
je 0x460b71
mov esi, eax
call fcn.00461fb0
mov dword [esp + 0x18], eax
jmp 0x460b75
mov dword [esp + 0x18], edi
mov ecx, dword [ebx + 0x20]
mov edx, dword [esp + 0xbc]
mov esi, dword [esp + 0x18]
mov eax, 3
call fcn.004548f0
push str.block
push ebp
sub ebx, 0xffffff80
push ebx
mov ecx, str.img_src
call fcn.00451eb0
mov dword [esp + 0x24], eax
mov esi, str.tooltip
mov eax, ebp
call fcn.00473170
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x1b
mov eax, dword [eax]
lea ecx, [esp + 0x20]
push ecx
mov edi, eax
call fcn.00453200
lea ecx, [esp + 0x28]
mov byte [esp + 0xa8], 0x1d
call fcn.00406e40
cmp dword [esp + 0xbc], 0x8005
jne 0x460ced
push str.block
push ebp
push ebx
mov ecx, str.img_src1
call fcn.00451eb0
mov dword [esp + 0x38], eax
mov esi, str.tooltip1
mov eax, ebp
call fcn.00473170
push eax
lea edx, [esp + 0x34]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x1e
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
mov edi, eax
call fcn.00453200
lea ecx, [esp + 0x30]
mov byte [esp + 0xa8], 0x20
call fcn.00406e40
mov eax, dword [esp + 0x20]
test eax, eax
je 0x460c59
mov eax, dword [eax]
jmp 0x460c5b
xor eax, eax
push ecx
mov edx, esp
mov dword [esp + 0x50], esp
push edx
mov ecx, eax
call fcn.00406bd0
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
push 0
call fcn.00461dd0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x460c85
mov ecx, dword [eax]
jmp 0x460c87
xor ecx, ecx
push ecx
mov eax, esp
mov dword [esp + 0x50], esp
push eax
call fcn.00406bd0
mov ebx, dword [esp + 0x3c]
push 1
call fcn.00461dd0
mov eax, dword [esi + 0x44]
test eax, eax
je 0x460cab
call fcn.00409240
mov edi, dword [esi + 0x3c]
lea eax, [esi + 0x38]
test edi, edi
jne 0x460cb9
xor ecx, ecx
jmp 0x460ccf
mov ecx, edi
lea esi, [ecx + 2]
mov edi, edi
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x460cc0
sub ecx, esi
sar ecx, 1
push edi
mov ebx, ecx
call fcn.00406af0
mov ecx, dword [esp + 0x18]
lea edi, [esp + 0x1c]
mov dword [ecx + 0x4c], 0
call fcn.00437b00
jmp 0x460d11
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov esi, edi
call fcn.00409240
mov eax, dword [esp + 0x20]
test eax, eax
je 0x460d08
mov esi, dword [eax]
jmp 0x460d0a
xor esi, esi
mov eax, edi
call fcn.00409290
mov edx, dword [esp + 0x18]
lea edi, [esp + 0x20]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], 0
mov byte [esp + 0xa8], 1
call fcn.00437b00
jmp 0x461483
lea eax, [esp + 0x34]
push eax
mov ecx, str.image
call fcn.00406310
test eax, eax
jne 0x460e48
push str.block
push ebp
sub ebx, 0xffffff80
push ebx
mov ecx, str.img_src
call fcn.00451eb0
mov dword [esp + 0x30], eax
cmp eax, edi
je 0x461483
push ebp
lea ebx, [esp + 0x20]
mov ecx, 0x4fb2ec
mov dword [esp + 0x20], 1
call fcn.004671e0
add esp, 4
mov esi, str.tooltip
mov eax, ebp
call fcn.00473170
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x21
mov eax, dword [eax]
lea edx, [esp + 0x24]
push edx
mov edi, eax
call fcn.00453200
lea ecx, [esp + 0x28]
mov byte [esp + 0xa8], 0x23
call fcn.00406e40
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
push 0x34
setne bl
lea ebx, [ebx + ebx + 1]
call fcn.004c99ad
add esp, 4
test eax, eax
je 0x460def
mov esi, eax
call fcn.00461600
mov edi, eax
jmp 0x460df1
xor edi, edi
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 0x20]
mov eax, ebx
mov esi, edi
call fcn.004246c0
mov eax, dword [esp + 0x30]
mov ecx, edi
call fcn.00424690
mov eax, dword [esp + 0x24]
test eax, eax
je 0x460e1b
mov eax, dword [eax]
jmp 0x460e1d
xor eax, eax
mov esi, eax
mov eax, edi
call fcn.004618d0
mov dword [esp + 0x48], edi
lea edi, [esp + 0x24]
mov dword [esp + 0x44], 0
mov byte [esp + 0xa8], 1
call fcn.00437b00
jmp 0x461483
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.animimage
call fcn.00406310
test eax, eax
jne 0x460ee4
push str.block
push ebp
lea edx, [ebx + 0x80]
push edx
mov ecx, str.img_src
call fcn.00451eb0
mov dword [esp + 0x28], eax
cmp eax, edi
je 0x461483
push 0x30
call fcn.004c99ad
add esp, 4
cmp eax, edi
je 0x460eba
xor ecx, ecx
mov dword [eax + 4], edi
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], edi
mov dword [eax], vtable.CSomAnimation.0
mov dword [eax + 0x2c], edi
mov esi, eax
jmp 0x460ebc
xor esi, esi
mov ebx, dword [ebx + 0x20]
mov eax, 3
mov ecx, ebx
call fcn.004246c0
mov eax, dword [esp + 0x28]
mov dword [esi + 0x2c], eax
call fcn.00461cf0
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], edi
jmp 0x461483
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.stackpanel
call fcn.00406310
test eax, eax
jne 0x46112b
push 0x34
call fcn.004c99ad
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0xa8], 0x24
cmp eax, edi
je 0x460f24
mov esi, eax
call fcn.00462770
mov ebx, eax
mov dword [esp + 0x38], eax
jmp 0x460f2a
xor ebx, ebx
mov dword [esp + 0x38], ebx
mov esi, str.orit
mov eax, ebp
mov byte [esp + 0xa8], 1
call fcn.00473170
push eax
lea edx, [esp + 0x34]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x25
mov eax, dword [eax]
lea ecx, [esp + 0x28]
push ecx
mov edi, eax
call fcn.00453200
lea ecx, [esp + 0x30]
mov byte [esp + 0xa8], 0x27
call fcn.00406e40
mov eax, dword [esp + 0x28]
test eax, eax
je 0x460f7f
mov eax, dword [eax]
jmp 0x460f81
xor eax, eax
lea edx, [esp + 0x18]
push edx
mov ecx, eax
call fcn.00406bd0
lea eax, [esp + 0x18]
push eax
mov ecx, 0x4fb32c
mov byte [esp + 0xac], 0x28
call fcn.00406310
test eax, eax
jne 0x460fad
mov dword [ebx + 4], eax
jmp 0x460fc7
lea ecx, [esp + 0x18]
push ecx
mov ecx, 0x4fb330
call fcn.00406310
test eax, eax
jne 0x460fc7
mov dword [ebx + 4], 1
mov esi, str.style
mov eax, ebp
call fcn.00473170
push eax
lea edx, [esp + 0x50]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x29
mov eax, dword [eax]
lea ecx, [esp + 0x30]
push ecx
mov edi, eax
call fcn.00453200
lea ecx, [esp + 0x4c]
mov byte [esp + 0xa8], 0x2b
call fcn.00406e40
mov eax, dword [esp + 0x30]
test eax, eax
je 0x461014
mov eax, dword [eax]
jmp 0x461016
xor eax, eax
lea edx, [esp + 0x20]
push edx
mov ecx, eax
call fcn.00406bd0
lea eax, [esp + 0x20]
push eax
mov ecx, str.autosize
mov byte [esp + 0xac], 0x2c
call fcn.00406310
test eax, eax
jne 0x461042
mov dword [ebx + 8], eax
jmp 0x46105c
lea ecx, [esp + 0x20]
push ecx
mov ecx, 0x4fb350
call fcn.00406310
test eax, eax
jne 0x46105c
mov dword [ebx + 8], 1
xor eax, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
lea ebx, [esp + 0x58]
mov ecx, 0x4fb164
mov eax, ebp
call fcn.00473190
lea ebx, [esp + 0x5c]
mov ecx, 0x4fb168
mov eax, ebp
call fcn.00473190
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
lea ebx, [esp + 0x1c]
mov ecx, str.width
mov eax, ebp
call fcn.00473190
lea ebx, [esp + 0x24]
mov ecx, str.height
mov eax, ebp
call fcn.00473190
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x1c]
lea edi, [esi + eax]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
add edx, ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edi
call fcn.00462e40
lea ecx, [esp + 0x20]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], 2
call fcn.00406e40
lea edi, [esp + 0x30]
call fcn.00437b00
lea ecx, [esp + 0x18]
call fcn.00406e40
lea edi, [esp + 0x28]
mov byte [esp + 0xa8], 1
call fcn.00437b00
jmp 0x461483
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.RadioGroup
call fcn.00406310
test eax, eax
jne 0x4613d5
mov esi, str.orit
mov eax, ebp
call fcn.00473170
push eax
lea edx, [esp + 0x50]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x2d
mov eax, dword [eax]
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call fcn.00406bd0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xa8], 0x2f
call fcn.00406e40
lea edx, [esp + 0x24]
push edx
mov ecx, 0x4fb32c
call fcn.00406310
test eax, eax
jne 0x4611da
push 0x60
call fcn.004c99ad
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0xa8], 0x30
cmp eax, edi
je 0x4611c8
push 1
push eax
call fcn.00459820
mov byte [esp + 0xa8], 0x2f
mov dword [eax + 4], edi
jmp 0x46125e
xor eax, eax
mov byte [esp + 0xa8], 0x2f
mov dword [eax + 4], edi
jmp 0x46125e
lea eax, [esp + 0x24]
push eax
mov ecx, 0x4fb330
call fcn.00406310
push 0x60
test eax, eax
jne 0x461233
call fcn.004c99ad
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0xa8], 0x31
cmp eax, edi
je 0x461220
push 1
push eax
call fcn.00459820
mov byte [esp + 0xa8], 0x2f
mov dword [eax + 4], 1
jmp 0x46125e
xor eax, eax
mov byte [esp + 0xa8], 0x2f
mov dword [eax + 4], 1
jmp 0x46125e
call fcn.004c99ad
add esp, 4
mov dword [esp + 0x38], eax
mov byte [esp + 0xa8], 0x32
cmp eax, edi
je 0x461254
push edi
push eax
call fcn.00459820
jmp 0x461256
xor eax, eax
mov byte [esp + 0xa8], 0x2f
mov ebx, dword [ebx + 0x24]
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x18], eax
mov dword [eax + 0x54], ebx
mov dword [eax + 0x58], ecx
mov esi, str.style
mov eax, ebp
call fcn.00473170
push eax
lea edx, [esp + 0x20]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x33
mov eax, dword [eax]
lea ecx, [esp + 0x38]
push ecx
mov edi, eax
call fcn.00453200
lea ecx, [esp + 0x1c]
mov byte [esp + 0xa8], 0x35
call fcn.00406e40
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4612bf
mov eax, dword [eax]
jmp 0x4612c1
xor eax, eax
lea edx, [esp + 0x20]
push edx
mov ecx, eax
call fcn.00406bd0
lea eax, [esp + 0x20]
push eax
mov ecx, str.autosize
mov byte [esp + 0xac], 0x36
call fcn.00406310
test eax, eax
jne 0x4612f1
mov ecx, dword [esp + 0x18]
mov dword [ecx + 8], eax
jmp 0x461311
lea edx, [esp + 0x20]
push edx
mov ecx, 0x4fb350
call fcn.00406310
test eax, eax
jne 0x46130f
mov eax, dword [esp + 0x18]
mov dword [eax + 8], 1
xor eax, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
lea ebx, [esp + 0x58]
mov ecx, 0x4fb164
mov eax, ebp
call fcn.00473190
lea ebx, [esp + 0x5c]
mov ecx, 0x4fb168
mov eax, ebp
call fcn.00473190
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], eax
lea ebx, [esp + 0x28]
mov ecx, str.width
mov eax, ebp
call fcn.00473190
lea ebx, [esp + 0x30]
mov ecx, str.height
mov eax, ebp
call fcn.00473190
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
lea edi, [esi + eax]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
add edx, ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edi
call fcn.00462e40
lea ecx, [esp + 0x20]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], 2
call fcn.00406e40
lea edi, [esp + 0x38]
call fcn.00437b00
lea ecx, [esp + 0x24]
mov byte [esp + 0xa8], 1
call fcn.00406e40
jmp 0x461483
lea ecx, [esp + 0x34]
push ecx
mov ecx, str.MultiLText
call fcn.00406310
test eax, eax
jne 0x461483
push 0x84
call fcn.004c99ad
add esp, 4
mov dword [esp + 0x4c], eax
mov byte [esp + 0xa8], 0x37
cmp eax, edi
je 0x461415
push eax
call fcn.00457350
mov dword [esp + 0x18], eax
jmp 0x461419
mov dword [esp + 0x18], edi
mov byte [esp + 0xa8], 1
mov ebx, dword [ebx + 0x20]
mov esi, dword [esp + 0x18]
mov eax, 3
mov ecx, ebx
call fcn.004246c0
mov esi, str.text
mov eax, ebp
call fcn.00473170
cmp eax, edi
je 0x461477
push eax
lea edx, [esp + 0x50]
push edx
call fcn.00466b70
add esp, 8
mov byte [esp + 0xa8], 0x38
mov eax, dword [eax]
push eax
mov eax, dword [esp + 0x1c]
call fcn.00457520
lea ecx, [esp + 0x4c]
mov byte [esp + 0xa8], 1
call fcn.00406e40
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0xb0]
mov ecx, dword [esi + 0x1c]
mov ebx, dword [esi + 4]
add esi, 4
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x58], ecx
call fcn.00468f40
mov edi, eax
mov eax, dword [edi]
test eax, eax
je 0x4614b2
cmp eax, ebx
je 0x4614b7
call fcn.004ca395
mov ecx, dword [esp + 0x50]
cmp dword [edi + 4], ecx
je 0x46154c
lea edx, [esp + 0x34]
push edx
mov ebx, esi
call fcn.004229a0
mov ecx, dword [eax]
test ecx, ecx
je 0x46154c
mov edx, dword [esp + 0xc4]
mov eax, dword [ecx]
mov eax, dword [eax]
push edx
mov edx, dword [esp + 0xc0]
push ebp
push edx
mov edx, dword [esp + 0xc4]
push edx
lea edx, [esp + 0x68]
push edx
call eax
mov esi, eax
mov byte [esp + 0xa8], 0x39
mov ecx, dword [esi]
lea eax, [esi + 4]
lea edi, [esp + 0x40]
mov dword [esp + 0x3c], ecx
call fcn.00405e00
mov edx, dword [esi + 8]
mov dword [esp + 0x44], edx
mov eax, dword [esi + 0xc]
mov dword [esp + 0x48], eax
mov byte [esp + 0xa8], 1
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46154c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x3c], eax
mov dword [esi], eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
call fcn.004065a0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add eax, 0x10
mov dword [esi + 4], eax
mov byte [esp + 0xa8], 0
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4615a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0xa8], 0xffffffff
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4615d3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret 0x18