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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6130cd
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x69301c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
mov ebx, dword [ebp + 8]
mov ecx, ebx
call fcn.00405300
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x20], edi
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push 0x6619d4
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.00404c40
test al, al
jne 0x47b16a
push 5
push 0x6619d4
lea ecx, [ebp - 0x14]
call fcn.00405050
push ecx
mov byte [ebp - 4], 2
mov esi, esp
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
push eax
call fcn.00404800
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.0040f1f0
test eax, eax
jne 0x47b240
mov byte [ebp - 4], al
or ebx, 0xffffffff
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b1ba
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [esi + 0x40]
push dword [esi + 0x3c]
push ecx
mov esi, esp
mov dword [ebp + 8], esp
mov dword [ebp + 0xc], esi
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7ac
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
push 0x6619e0
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.00404c40
test al, al
jne 0x47b204
push 0
push 0x6619e0
mov ecx, esi
call fcn.00405050
push ecx
mov byte [ebp - 4], 4
mov esi, esp
mov dword [ebp + 0xc], esi
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0x180]
sub eax, 0x10
push eax
call fcn.00404800
mov ecx, dword [ebp - 0x1c]
add esp, 4
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0
push 0x201
call fcn.0047a9c0
xor esi, esi
jmp 0x47c716
add eax, 0xc
lea ecx, [ebp - 0x20]
push eax
call fcn.004044d0
mov byte [ebp - 4], 0
or eax, 0xffffffff
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b26b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x20]
mov ecx, str.left
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b29b
test dx, dx
je 0x47b297
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b29b
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b275
xor eax, eax
jmp 0x47b2a0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b2af
mov dword [ebx], 0xd
jmp 0x47b649
mov ecx, str.right
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b2dc
test dx, dx
je 0x47b2d8
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b2dc
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b2b6
xor eax, eax
jmp 0x47b2e1
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b2f0
mov dword [ebx], 0xe
jmp 0x47b649
mov ecx, 0x6619fc
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b31d
test dx, dx
je 0x47b319
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b31d
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b2f7
xor eax, eax
jmp 0x47b322
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b331
mov dword [ebx], 0xc
jmp 0x47b649
mov ecx, str.bottom
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b35e
test dx, dx
je 0x47b35a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b35e
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b338
xor eax, eax
jmp 0x47b363
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b372
mov dword [ebx], 0xf
jmp 0x47b649
mov ecx, str.client
mov eax, edi
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b3a6
test dx, dx
je 0x47b3a2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b3a6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b380
xor eax, eax
jmp 0x47b3ab
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b3ba
mov dword [ebx], 0xb
jmp 0x47b649
mov ecx, str.fixed
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b3e7
test dx, dx
je 0x47b3e3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b3e7
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b3c1
xor eax, eax
jmp 0x47b3ec
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b3fb
mov dword [ebx], 1
jmp 0x47b649
mov ecx, str.hardfixed
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b428
test dx, dx
je 0x47b424
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b428
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b402
xor eax, eax
jmp 0x47b42d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b43c
mov dword [ebx], 2
jmp 0x47b649
mov ecx, 0x661a44
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b469
test dx, dx
je 0x47b465
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b469
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b443
xor eax, eax
jmp 0x47b46e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b47d
mov dword [ebx], 3
jmp 0x47b649
mov ecx, str.top_center
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b4aa
test dx, dx
je 0x47b4a6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b4aa
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b484
xor eax, eax
jmp 0x47b4af
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b4be
mov dword [ebx], 4
jmp 0x47b649
mov ecx, str.rightbottom
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b4eb
test dx, dx
je 0x47b4e7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b4eb
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b4c5
xor eax, eax
jmp 0x47b4f0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b4ff
mov dword [ebx], 5
jmp 0x47b649
mov ecx, str.leftbottom
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b52c
test dx, dx
je 0x47b528
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b52c
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b506
xor eax, eax
jmp 0x47b531
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b540
mov dword [ebx], 6
jmp 0x47b649
mov ecx, str.righttop
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b56d
test dx, dx
je 0x47b569
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b56d
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b547
xor eax, eax
jmp 0x47b572
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b581
mov dword [ebx], 7
jmp 0x47b649
mov ecx, str.lefttop
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b5ae
test dx, dx
je 0x47b5aa
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b5ae
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b588
xor eax, eax
jmp 0x47b5b3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b5c2
mov dword [ebx], 8
jmp 0x47b649
mov ecx, str.leftcenter
mov eax, edi
nop dword [eax]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b5f6
test dx, dx
je 0x47b5f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b5f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b5d0
xor eax, eax
jmp 0x47b5fb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b607
mov dword [ebx], 9
jmp 0x47b649
mov ecx, str.rightcenter
mov eax, edi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b636
test dx, dx
je 0x47b632
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b636
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b610
xor eax, eax
jmp 0x47b63b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47c748
mov dword [ebx], 0xa
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7ac
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 6
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x661af0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call fcn.00404c40
test al, al
jne 0x47b6ab
push 5
push 0x661af0
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 8
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47b6e9
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
or ebx, 0xffffffff
mov eax, ebx
jmp 0x47b799
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b716
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 1
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x14]
call fcn.00403910
mov eax, dword [eax]
cmp dword [eax - 0xc], 1
jne 0x47b736
cmp word [eax], 0x24
mov byte [ebp - 0xd], 1
je 0x47b73a
mov byte [ebp - 0xd], 0
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b754
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je 0x47b7b4
push ecx
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp - 0x14]
lea eax, [esi - 0x10]
push eax
call fcn.00404800
mov ecx, dword [ebp - 0x1c]
add eax, 0x10
add esp, 4
mov dword [ebx], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0047e5a0
push dword [eax]
call fcn.005fbf98
mov ecx, dword [ebp + 8]
add esp, 4
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
mov dword [ecx + 4], eax
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b877
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47b877
mov esi, dword [ebp - 0x14]
mov ecx, 0x661afc
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b7e6
test dx, dx
je 0x47b7e2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b7e6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b7c0
xor eax, eax
jmp 0x47b7eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b7fe
mov eax, dword [ebp + 8]
mov dword [eax + 0x2c], 1
jmp 0x47b877
push 1
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004039d0
mov eax, dword [eax]
cmp dword [eax - 0xc], 1
jne 0x47b81e
cmp word [eax], 0x25
mov byte [ebp - 0xd], 1
je 0x47b822
mov byte [ebp - 0xd], 0
mov edx, dword [ebp - 0x1c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b83c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
push esi
je 0x47b85a
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x24], 1
call fcn.005fbf98
add esp, 4
mov dword [ebx + 4], eax
jmp 0x47b877
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x661b10
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 9
call fcn.00404c40
test al, al
jne 0x47b8bb
push 6
push 0x661b10
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0xa
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47b90f
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b9fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47b9fd
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b93c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
mov ecx, str.fit2text
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47b96c
test dx, dx
je 0x47b968
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47b96c
add eax, 4
add ecx, 4
test dx, dx
jne 0x47b946
xor eax, eax
jmp 0x47b971
sbb eax, eax
or eax, 1
test eax, eax
jne 0x47b984
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], 1
jmp 0x47b9fd
push 1
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
call fcn.004039d0
mov eax, dword [eax]
cmp dword [eax - 0xc], 1
jne 0x47b9a4
cmp word [eax], 0x25
mov byte [ebp - 0xd], 1
je 0x47b9a8
mov byte [ebp - 0xd], 0
mov edx, dword [ebp - 0x1c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47b9c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
push esi
je 0x47b9e0
mov ebx, dword [ebp + 8]
mov dword [ebx + 0x28], 1
call fcn.005fbf98
add esp, 4
mov dword [ebx + 8], eax
jmp 0x47b9fd
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.MinWidth
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xb
call fcn.00404c40
test al, al
jne 0x47ba41
push 8
push str.MinWidth
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0xc
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47ba8c
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bad8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47bad8
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bab7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push esi
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.MinHeight
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xd
call fcn.00404c40
test al, al
jne 0x47bb1c
push 9
push str.MinHeight
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0xe
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47bb67
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bbb3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47bbb3
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bb92
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push esi
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x10], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.MaxWidth
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.00404c40
test al, al
jne 0x47bbf7
push 8
push str.MaxWidth
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x10
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47bc42
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bc8e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47bc8e
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bc6d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push esi
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x14], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.MaxHeight
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.00404c40
test al, al
jne 0x47bcd2
push 9
push str.MaxHeight
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x12
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47bd1d
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bd69
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47bd69
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bd48
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push esi
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.Left
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x13
call fcn.00404c40
test al, al
jne 0x47bdad
push 4
push str.Left
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x14
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47bdf8
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47be44
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47be44
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47be23
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push esi
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x1c], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push 0x661b90
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x15
call fcn.00404c40
test al, al
jne 0x47be88
push 3
push 0x661b90
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x16
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47bed3
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bf1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47bf1f
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47befe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push esi
call fcn.005fbf98
add esp, 4
push 0x60
push dword [0x698138]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x20], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.Position
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x17
call fcn.00404c40
test al, al
jne 0x47bf63
push 8
push str.Position
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x18
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47bfb5
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c055
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47c055
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47bfe0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
lea edx, [ebx + 8]
push edx
lea ecx, [ebx + 4]
push ecx
lea eax, [ebx + 0x20]
add ebx, 0x1c
push eax
push ebx
push str._d__d__d__d
push esi
call fcn.00404280
add esp, 0x18
push 0x60
push dword [0x698138]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx], eax
mov ebx, dword [ebp + 8]
push 0x60
push dword [0x698138]
push dword [ebx + 0x20]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x20], eax
push dword [0x698138]
push dword [ebx + 4]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 4], eax
push dword [0x698138]
push dword [ebx + 8]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx + 8], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.Show
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x19
call fcn.00404c40
test al, al
jne 0x47c099
push 4
push str.Show
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x1a
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47c0e4
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c137
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47c137
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c10f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp - 0x14]
lea eax, [esi - 0x10]
push eax
call fcn.00404800
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.00485b60
mov ecx, dword [ebp + 8]
add esp, 4
mov dword [ecx + 0x74], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.Margin
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1b
call fcn.00404c40
test al, al
jne 0x47c17b
push 6
push str.Margin
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x1c
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47c1cd
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c26d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47c26d
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c1f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
lea edx, [ebx + 0x34]
push edx
lea ecx, [ebx + 0x40]
push ecx
lea eax, [ebx + 0x3c]
add ebx, 0x38
push eax
push ebx
push str._d__d__d__d
push esi
call fcn.00404280
add esp, 0x18
push 0x60
push dword [0x698138]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx], eax
mov ebx, dword [ebp + 8]
push 0x60
push dword [0x698138]
push dword [ebx + 0x3c]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x3c], eax
push dword [0x698138]
push dword [ebx + 0x40]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x40], eax
push dword [0x698138]
push dword [ebx + 0x34]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx + 0x34], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7a2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.Padding
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1d
call fcn.00404c40
test al, al
jne 0x47c2b1
push 7
push str.Padding
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x1e
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47c303
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c3a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47c3a3
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c32e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
lea edx, [ebx + 0x44]
push edx
lea ecx, [ebx + 0x50]
push ecx
lea eax, [ebx + 0x4c]
add ebx, 0x48
push eax
push ebx
push str._d__d__d__d
push esi
call fcn.00404280
add esp, 0x18
push 0x60
push dword [0x698138]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx], eax
mov ebx, dword [ebp + 8]
push 0x60
push dword [0x698138]
push dword [ebx + 0x4c]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x4c], eax
push dword [0x698138]
push dword [ebx + 0x50]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x50], eax
push dword [0x698138]
push dword [ebx + 0x44]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx + 0x44], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7b6
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.TextPadding
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1f
call fcn.00404c40
test al, al
jne 0x47c3e7
push 0xb
push str.TextPadding
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x20
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47c439
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c4d9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47c4d9
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c464
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
lea edx, [ebx + 0x54]
push edx
lea ecx, [ebx + 0x60]
push ecx
lea eax, [ebx + 0x5c]
add ebx, 0x58
push eax
push ebx
push str._d__d__d__d
push esi
call fcn.00404280
add esp, 0x18
push 0x60
push dword [0x698138]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx], eax
mov ebx, dword [ebp + 8]
push 0x60
push dword [0x698138]
push dword [ebx + 0x5c]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x5c], eax
push dword [0x698138]
push dword [ebx + 0x60]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x60], eax
push dword [0x698138]
push dword [ebx + 0x54]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx + 0x54], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7c0
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.TextMargin
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x21
call fcn.00404c40
test al, al
jne 0x47c51d
push 0xa
push str.TextMargin
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x22
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47c56f
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c60f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47c60f
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c59a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp + 8]
mov esi, dword [ebp - 0x14]
lea edx, [ebx + 0x64]
push edx
lea ecx, [ebx + 0x70]
push ecx
lea eax, [ebx + 0x6c]
add ebx, 0x68
push eax
push ebx
push str._d__d__d__d
push esi
call fcn.00404280
add esp, 0x18
push 0x60
push dword [0x698138]
push dword [ebx]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx], eax
mov ebx, dword [ebp + 8]
push 0x60
push dword [0x698138]
push dword [ebx + 0x6c]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x6c], eax
push dword [0x698138]
push dword [ebx + 0x70]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x60
mov dword [ebx + 0x70], eax
push dword [0x698138]
push dword [ebx + 0x64]
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebx + 0x64], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x24], eax
call fcn.004a6e1d
mov ecx, eax
test ecx, ecx
je 0x47c7ca
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
push str.HideWhenSmall
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x23
call fcn.00404c40
test al, al
jne 0x47c653
push 0xd
push str.HideWhenSmall
lea ecx, [ebp - 0x18]
call fcn.00405050
push ecx
mov byte [ebp - 4], 0x24
mov ebx, esp
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
push eax
call fcn.00404800
mov ecx, dword [ebp + 0xc]
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.0040f1f0
test eax, eax
jne 0x47c6a0
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c6f6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x47c6f6
add eax, 0xc
lea ecx, [ebp - 0x14]
push eax
call fcn.004044d0
mov byte [ebp - 4], 6
or eax, 0xffffffff
mov edx, dword [ebp - 0x18]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x47c6cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push ecx
mov ebx, esp
mov dword [ebp + 0xc], ebx
mov esi, dword [ebp - 0x14]
lea eax, [esi - 0x10]
push eax
call fcn.00404800
add esp, 4
add eax, 0x10
mov dword [ebx], eax
call fcn.00485b60
mov ecx, dword [ebp + 8]
add esp, 4
or ebx, 0xffffffff
mov dword [ecx + 0x78], eax
mov byte [ebp - 4], 0
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x47c711
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, 1
mov dword [ebp - 4], 0xffffffff
add edi, 0xfffffff0
lock xadd dword [edi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x47c732
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push dword [esi + 0x40]
lea eax, [edi - 0x10]
push dword [esi + 0x3c]
push ecx
mov esi, esp
mov dword [ebp + 8], esp
push eax
mov dword [ebp + 0xc], esi
call fcn.00404800
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 5
mov esi, esp
mov dword [ebp + 0xc], esi
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x180]
sub eax, 0x10
push eax
call fcn.00404800
add esp, 4
add eax, 0x10
mov dword [esi], eax
mov ecx, ebx
mov byte [ebp - 4], 0
push 0x201
call fcn.0047a9c0
or ebx, 0xffffffff
xor esi, esi
jmp 0x47c716
push 0x80004005
call fcn.00405000
push 0x80004005
call fcn.00405000
push 0x80004005
call fcn.00405000
push 0x80004005
call fcn.00405000
push 0x80004005
call fcn.00405000
int3