Function at 0x46a660
Capabilities:
Check for time delay via queryperformancecounter
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ec922
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x1534
call fcn.004e33a0
xor eax, eax
movsd qword [ebp - 0x268], xmm3
push ebx
push esi
mov dword [ebp - 0x24], eax
mov ebx, ecx
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x400]
mov dword [ebp - 0x10], esp
push eax
movsd qword [ebp - 0x74], xmm2
mov dword [ebp - 0x38], ebx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea ecx, [ebp - 0x64]
call dword [sym.imp.mfc140.dll_Ordinal_316]
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], 0
call dword [sym.imp.mfc140.dll_Ordinal_316]
mov byte [ebp - 4], 1
cmp dword [ebx + 0xc], 0
jne 0x46a703
lea ecx, [ebp - 0x60]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x64]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov byte [ebp - 4], 2
cmp dword [ebp + 0x20], 1
jne 0x46a8f6
mov edi, dword [sym.imp.mfc140.dll_Ordinal_1507]
push 0xc
call edi
mov esi, eax
add esp, 4
mov dword [ebp + 0x20], esi
mov byte [ebp - 4], 3
test esi, esi
je 0x46a747
mov dword [esi + 4], 0
push 0x4fd088
mov dword [esi + 8], 1
call fcn.004e2dc0
mov dword [esi], eax
jmp 0x46a749
xor esi, esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x230], esi
test esi, esi
je 0x46ee8a
push 0xc
mov byte [ebp - 4], 4
call edi
mov esi, eax
add esp, 4
mov dword [ebp + 0x20], esi
mov byte [ebp - 4], 5
test esi, esi
je 0x46a78f
mov dword [esi + 4], 0
push 0x4fd088
mov dword [esi + 8], 1
call fcn.004e2dc0
mov dword [esi], eax
jmp 0x46a791
xor esi, esi
mov byte [ebp - 4], 4
mov dword [ebp - 0x22c], esi
test esi, esi
je 0x46ee94
mov byte [ebp - 4], 6
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x224], 0
lea ecx, [ebp - 0x224]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46a7db
push 0x50999c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x224]
mov dword [ebp - 0x38c], esi
mov byte [ebp - 4], 8
test esi, esi
je 0x46ee9e
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x228], 0
test eax, eax
je 0x46a80f
mov ecx, dword [eax]
jmp 0x46a811
xor ecx, ecx
mov eax, dword [ebp - 0x22c]
test eax, eax
je 0x46a81f
mov edx, dword [eax]
jmp 0x46a821
xor edx, edx
mov eax, dword [esi]
lea edi, [ebp - 0x228]
push edi
push 0
push ecx
mov eax, dword [eax + 0x90]
push 0
push edx
push 0
push 8
push esi
call eax
test eax, eax
jns 0x46a84d
push 0x50997c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x228]
lea ecx, [ebp - 0x22c]
call fcn.00434ed0
lea ecx, [ebp - 0x230]
call fcn.00434ed0
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x38c]
test eax, eax
je 0x46a87f
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0xe
test esi, esi
je 0x46a88f
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
lea eax, [ebp - 0x3b0]
mov dword [ebp - 4], 1
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x3b0]
sub ecx, dword [ebp - 0x400]
mov eax, dword [ebp - 0x3ac]
sbb eax, dword [ebp - 0x3fc]
push eax
push ecx
lea eax, [ebp - 0x64]
push str.Counter_elapsed__ld_n
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
add esp, 0x10
lea ecx, [ebp - 0x60]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
lea ecx, [ebp - 0x64]
call dword [sym.imp.mfc140.dll_Ordinal_1044]
mov ecx, dword [ebp - 0xc]
mov al, 1
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
push 0xa
lea eax, [ebp - 0x64]
push 0x50721c
push eax
call dword [sym.imp.mfc140.dll_Ordinal_4807]
mov esi, dword [sym.imp.mfc140.dll_Ordinal_883]
lea ecx, [ebp - 0x544]
add esp, 0xc
push 0xb
push 0
call esi
push 0xb
push 1
lea ecx, [ebp - 0x534]
mov byte [ebp - 4], 0xf
call esi
mov dword [ebp - 0x20], 0
push 1
push dword [ebp + 8]
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x12
call fcn.004baa70
mov dword [ebp - 0x248], 0
mov byte [ebp - 4], 0x13
mov esi, 0x4000
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x1c], esi
test eax, eax
je 0x46aab2
push ecx
mov ecx, esp
mov dword [ebp - 0x40], esp
mov dword [ecx], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 4]
call eax
mov byte [ebp - 4], 0x17
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x234], 0
lea ecx, [ebp - 0x234]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xb4]
call eax
test eax, eax
jns 0x46a9be
push 0x50f9e8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x23c], eax
mov eax, 0xc000
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x1c], eax
push ecx
mov ebx, esp
mov dword [ebx], 0
mov esi, dword [ebp - 0x23c]
mov byte [ebp - 4], 0x1a
test esi, esi
je 0x46a9f4
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0x1b
test esi, esi
je 0x46aa42
mov dword [ebp - 0x238], 0
lea ecx, [ebp - 0x238]
mov eax, dword [esi]
push ecx
push 0x50f9f8
push esi
mov eax, dword [eax]
call eax
mov edi, eax
xor eax, eax
test edi, edi
cmovns eax, dword [ebp - 0x238]
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebx]
test ecx, ecx
je 0x46aa3e
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp + 8]
mov dword [ebx], eax
jmp 0x46aa5f
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebx]
test ecx, ecx
je 0x46aa5a
mov dword [ebx], 0
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov edi, 0x80004002
mov byte [ebp - 4], 0x20
test esi, esi
je 0x46aa6f
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x19
test edi, edi
jns 0x46aa83
cmp edi, 0x80004002
jne 0x46eea8
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x21
call fcn.004b8e50
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x46aaa8
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov ebx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x13
mov esi, dword [ebp + 0x20]
push str.rows
lea ecx, [ebp - 0x248]
call fcn.004b8fd0
and esi, 0xffffbfff
mov dword [ebp + 8], eax
mov dword [ebp - 0x50], eax
mov dword [ebp + 0x20], esi
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x244]
test ecx, ecx
je 0x46aae7
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x46aafd
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
lea eax, [ebp - 0x3b8]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.cols
mov ecx, eax
mov byte [ebp - 4], 0x25
call fcn.004b8fd0
mov edi, eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x54], edi
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x3b4]
test ecx, ecx
je 0x46ab3e
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x3b8]
test ecx, ecx
je 0x46ab54
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x12
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x240], 0
lea ecx, [ebp - 0x240]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46ab8c
push 0x50999c
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp - 0x240]
or ebx, 0x10000
mov dword [ebp - 0x390], esi
mov byte [ebp - 4], 0x29
test esi, esi
je 0x46ee9e
movsd xmm0, qword [ebp + 0x14]
lea ecx, [ebp - 0x80]
cvtpd2ps xmm0, xmm0
push ecx
sub esp, 0x10
mov dword [ebp - 0x80], 0
mov eax, dword [esi]
movss dword [esp + 0xc], xmm0
movsd xmm0, qword [ebp + 0xc]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax + 0x8c]
movss dword [esp + 8], xmm0
movsd xmm0, qword [ebp - 0x74]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movsd xmm0, qword [ebp - 0x268]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push edi
push dword [ebp + 8]
push esi
call eax
test eax, eax
jns 0x46ac18
push 0x50997c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x80]
or ebx, 0x20000
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x394], esi
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x390]
test eax, eax
je 0x46ac40
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 0x250], 0
mov byte [ebp - 4], 0x2e
or ebx, 0x80000
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x1c], ebx
test eax, eax
je 0x46adb0
push ecx
mov ecx, esp
mov dword [ebp + 0x10], esp
mov dword [ecx], eax
mov byte [ebp - 4], 0x31
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 4]
call eax
mov byte [ebp - 4], 0x32
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x84]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xb4]
call eax
test eax, eax
jns 0x46acbb
push 0x50f9e8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x84]
or ebx, 0x100000
mov dword [ebp - 0x8c], eax
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x1c], ebx
push ecx
mov ebx, esp
mov dword [ebx], 0
mov esi, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x35
test esi, esi
je 0x46acf2
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0x36
test esi, esi
je 0x46ad40
mov dword [ebp - 0x88], 0
lea ecx, [ebp - 0x88]
mov eax, dword [esi]
push ecx
push 0x50f9f8
push esi
mov eax, dword [eax]
call eax
mov edi, eax
xor eax, eax
test edi, edi
cmovns eax, dword [ebp - 0x88]
mov dword [ebp + 0x18], eax
mov byte [ebp - 4], 0x37
mov ecx, dword [ebx]
test ecx, ecx
je 0x46ad3c
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp + 0x18]
mov dword [ebx], eax
jmp 0x46ad5d
mov byte [ebp - 4], 0x39
mov ecx, dword [ebx]
test ecx, ecx
je 0x46ad58
mov dword [ebx], 0
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov edi, 0x80004002
mov byte [ebp - 4], 0x3b
test esi, esi
je 0x46ad6d
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x34
test edi, edi
jns 0x46ad81
cmp edi, 0x80004002
jne 0x46eeae
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x3c
call fcn.004b8e50
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x46ada6
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x2e
mov esi, dword [ebp - 0x7c]
mov ebx, dword [ebp + 0x20]
push str.fontsize
lea ecx, [ebp - 0x250]
call fcn.004b8fd0
mov edi, eax
and ebx, 0xfff7ffff
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x24c]
test ecx, ecx
je 0x46adde
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x46adf4
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov eax, 0xc
mov byte [ebp - 4], 0x2c
test edi, edi
lea ecx, [ebp - 0x20]
cmove edi, eax
lea eax, [ebp - 0x3c0]
push eax
mov dword [ebp - 0x58], edi
call fcn.004bb510
push str.color
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.004b8fd0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x3bc]
test ecx, ecx
je 0x46ae40
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0x3c0]
test ecx, ecx
je 0x46ae56
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
lea eax, [ebp - 0x3c8]
mov byte [ebp - 4], 0x2c
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.fontface
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x43
push ecx
mov ecx, eax
call fcn.004b93a0
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x3c4]
test ecx, ecx
je 0x46ae93
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0x3c8]
test ecx, ecx
je 0x46aea9
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
lea eax, [ebp - 0x3a0]
mov byte [ebp - 4], 0x45
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.fontbold
mov ecx, eax
mov byte [ebp - 4], 0x48
call fcn.004b8fd0
mov dword [ebp - 0x40], eax
mov byte [ebp - 4], 0x49
mov ecx, dword [ebp - 0x39c]
test ecx, ecx
je 0x46aee5
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x3a0]
test ecx, ecx
je 0x46aefb
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x45
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x90]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x13c]
call eax
test eax, eax
jns 0x46af33
push 0x50996c
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x90]
or ebx, 0x400
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x26c], eax
xor edi, edi
mov dword [ebp + 0x10], edi
mov dword [ebp - 0x258], edi
mov byte [ebp - 4], 0x4e
or ebx, 0x1000000
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x254], edi
mov dword [ebp - 0x1c], ebx
test eax, eax
je 0x46b0ae
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
mov dword [ecx], eax
mov byte [ebp - 4], 0x51
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 4]
call eax
mov byte [ebp - 4], 0x52
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x94], edi
lea ecx, [ebp - 0x94]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xb4]
call eax
test eax, eax
jns 0x46afbc
push 0x50f9e8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x94]
or ebx, 0x2000000
mov dword [ebp - 0x9c], eax
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x1c], ebx
push ecx
mov ebx, esp
mov dword [ebx], 0
mov esi, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x55
test esi, esi
je 0x46aff3
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0x56
test esi, esi
je 0x46b041
mov dword [ebp - 0x98], 0
lea ecx, [ebp - 0x98]
mov eax, dword [esi]
push ecx
push 0x50f9f8
push esi
mov eax, dword [eax]
call eax
mov edi, eax
xor eax, eax
test edi, edi
cmovns eax, dword [ebp - 0x98]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x57
mov ecx, dword [ebx]
test ecx, ecx
je 0x46b03d
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0x30]
mov dword [ebx], eax
jmp 0x46b05e
mov byte [ebp - 4], 0x59
mov ecx, dword [ebx]
test ecx, ecx
je 0x46b059
mov dword [ebx], 0
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov edi, 0x80004002
mov byte [ebp - 4], 0x5b
test esi, esi
je 0x46b06e
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x54
test edi, edi
jns 0x46b082
cmp edi, 0x80004002
jne 0x46eeb4
lea ecx, [ebp - 0x258]
mov byte [ebp - 4], 0x5c
call fcn.004b8e50
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x46b0a7
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x4e
mov ebx, dword [ebp + 0x20]
push str.style
lea eax, [ebp - 0x398]
push eax
lea ecx, [ebp - 0x258]
call fcn.004b93a0
mov edx, dword [ebp - 0x398]
add edx, 0xfffffff0
mov eax, dword [eax]
mov esi, dword [eax - 0xc]
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46b0ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
and ebx, 0xfeffffff
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x5e
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x46b109
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x5f
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x46b11f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
test esi, esi
jle 0x46b39b
mov dword [ebp - 0x260], 0
mov byte [ebp - 4], 0x60
or ebx, 0x8000000
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x25c], 0
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x1c], ebx
test eax, eax
je 0x46b294
push ecx
mov ecx, esp
mov dword [ebp - 0x34], esp
mov dword [ecx], eax
mov byte [ebp - 4], 0x63
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 4]
call eax
mov byte [ebp - 4], 0x64
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xa0], 0
lea ecx, [ebp - 0xa0]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xb4]
call eax
test eax, eax
jns 0x46b1a5
push 0x50f9e8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0xa0]
or ebx, 0x10000000
mov dword [ebp - 0xa8], eax
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x1c], ebx
push ecx
mov ebx, esp
mov dword [ebx], 0
mov esi, dword [ebp - 0xa8]
mov byte [ebp - 4], 0x67
test esi, esi
je 0x46b1dc
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0x68
test esi, esi
je 0x46b22a
mov dword [ebp - 0xa4], 0
lea ecx, [ebp - 0xa4]
mov eax, dword [esi]
push ecx
push 0x50f9f8
push esi
mov eax, dword [eax]
call eax
mov edi, eax
xor eax, eax
test edi, edi
cmovns eax, dword [ebp - 0xa4]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x69
mov ecx, dword [ebx]
test ecx, ecx
je 0x46b226
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov eax, dword [ebp - 0x30]
mov dword [ebx], eax
jmp 0x46b247
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebx]
test ecx, ecx
je 0x46b242
mov dword [ebx], 0
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov edi, 0x80004002
mov byte [ebp - 4], 0x6d
test esi, esi
je 0x46b257
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x66
test edi, edi
jns 0x46b26b
cmp edi, 0x80004002
jne 0x46eeba
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x6e
call fcn.004b8e50
mov byte [ebp - 4], 0x6f
mov eax, dword [ebp - 0xa8]
test eax, eax
je 0x46b290
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x60
push str.style
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x260]
call fcn.004b93a0
mov byte [ebp - 4], 0x70
mov edi, dword [eax]
push 0
push 0
mov ebx, dword [edi - 0xc]
push ebx
push edi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push 0
mov dword [ebp - 0x30], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov esi, eax
test esi, esi
je 0x46eec0
push dword [ebp - 0x30]
push esi
push ebx
push edi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push esi
lea ecx, [ebp - 0xac]
call fcn.00480940
mov byte [ebp - 4], 0x71
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x46ee9e
mov byte [ebp - 4], 0x72
mov eax, dword [ebp - 0xac]
test eax, eax
je 0x46b317
mov ecx, dword [eax]
jmp 0x46b319
xor ecx, ecx
mov eax, dword [esi]
push 1
push ecx
push esi
mov eax, dword [eax + 0x78]
call eax
test eax, eax
jns 0x46b334
push 0x5098fc
push esi
push eax
call fcn.004e2c00
lea ecx, [ebp - 0xac]
call fcn.00434ed0
mov byte [ebp - 4], 0x60
or eax, 0xffffffff
mov edx, dword [ebp - 0x270]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46b363
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ebx, dword [ebp + 0x20]
and ebx, 0xf7ffffff
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x73
mov ecx, dword [ebp - 0x25c]
test ecx, ecx
je 0x46b385
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x74
mov ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x46b39b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0x75
mov esi, dword [esi + 8]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xb0], 0
lea ecx, [ebp - 0xb0]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46b3d6
push 0x50994c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xb0]
or ebx, 0x800000
mov dword [ebp - 0x37c], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x77
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xb4], 0
lea ecx, [ebp - 0xb4]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x4c]
call eax
test eax, eax
jns 0x46b420
push 0x50998c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xb4]
or ebx, 0x400000
mov dword [ebp - 0x330], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x79
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xb8]
mov eax, dword [esi]
push ecx
push 3
push esi
mov eax, dword [eax + 0x30]
call eax
test eax, eax
jns 0x46b46c
push 0x5099dc
push esi
push eax
call fcn.004e2c00
mov edi, dword [ebp - 0xb8]
or ebx, 0x200000
mov dword [ebp - 0x378], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x7d
mov eax, dword [ebp - 0x330]
test eax, eax
je 0x46b497
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0x37c]
test eax, eax
je 0x46b4ad
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x7e
test edi, edi
je 0x46ee9e
mov dword [ebp - 0xbc], 0
lea ecx, [ebp - 0xbc]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x2c]
call eax
test eax, eax
jns 0x46b4e2
push 0x5099ec
push edi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xbc]
or ebx, 0x40000
mov dword [ebp - 0x380], esi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x81
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xc0], 0
lea ecx, [ebp - 0xc0]
mov eax, dword [esi]
push ecx
push 1
push esi
mov eax, dword [eax + 0x30]
call eax
test eax, eax
jns 0x46b52e
push 0x509a1c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xc0]
or ebx, 0x800
mov dword [ebp - 0x264], esi
mov dword [ebp + 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x85
mov eax, dword [ebp - 0x380]
test eax, eax
je 0x46b55c
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x84
test esi, esi
je 0x46b6ea
mov dword [ebp - 0xc4], 0
lea ecx, [ebp - 0xc4]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46b591
push 0x509a3c
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0xc4]
or eax, 0x4000000
mov dword [ebp - 0x384], ebx
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x87
test ebx, ebx
je 0x46ee9e
movd xmm0, dword [ebp - 0x58]
mov eax, dword [ebx]
cvtdq2ps xmm0, xmm0
push ecx
mov eax, dword [eax + 0x74]
movss dword [esp], xmm0
push ebx
call eax
test eax, eax
jns 0x46b5dd
push 0x509a4c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0x88
mov eax, dword [ebp - 0x384]
test eax, eax
je 0x46b5f3
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x84
mov eax, dword [ebp - 0x5c]
push 0
push 0
mov dword [ebp - 0x34], eax
mov ecx, dword [eax - 0xc]
push ecx
push eax
push 0
push 3
mov dword [ebp - 0x30], ecx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push 0
mov dword [ebp - 0x38], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov ebx, eax
test ebx, ebx
je 0x46eec0
push dword [ebp - 0x38]
push ebx
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push ebx
lea ecx, [ebp - 0xcc]
call fcn.00480940
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46b676
push 0x509a3c
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp + 0x20]
mov ebx, dword [ebp - 0xc8]
or eax, 0x20000000
mov dword [ebp - 0x388], ebx
mov dword [ebp + 0x20], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x8b
test ebx, ebx
je 0x46ee9e
mov byte [ebp - 4], 0x8d
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x46b6ae
mov ecx, dword [eax]
jmp 0x46b6b0
xor ecx, ecx
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x7c]
call eax
test eax, eax
jns 0x46b6c9
push 0x509a4c
push ebx
push eax
call fcn.004e2c00
lea ecx, [ebp - 0xcc]
call fcn.00434ed0
mov byte [ebp - 4], 0x8e
mov eax, dword [ebp - 0x388]
test eax, eax
je 0x46b6ea
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x8f
test esi, esi
je 0x46b6fa
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x90
mov eax, dword [edi]
push edi
mov eax, dword [eax + 8]
call eax
mov ebx, dword [ebp - 0x3c]
mov ecx, dword [ebp + 8]
mov dword [ebp - 4], 0x4d
mov esi, dword [ebp + 0x18]
jmp 0x46b780
xor eax, eax
mov dword [ebp - 0x30], eax
xor edx, edx
mov byte [ebp - 4], 0x92
mov dword [ebp - 0x34], edx
nop
cmp edx, ecx
jge 0x46bef4
mov edi, dword [ebp + 0x10]
lea ecx, [edx + 1]
xor eax, eax
mov dword [ebp - 0x38], ecx
cmp eax, ebx
jge 0x46bee4
test esi, esi
je 0x46ee9e
lea ecx, [eax + 1]
mov dword [ebp - 0xd0], 0
mov eax, dword [esi]
lea ebx, [ebp - 0xd0]
push ebx
inc edx
mov dword [ebp - 0x50], ecx
push ecx
mov eax, dword [eax + 0x2c]
push edx
push esi
mov dword [ebp - 0x38], edx
call eax
test eax, eax
jns 0x46b7e8
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp - 0xd0]
or ebx, 2
mov dword [ebp - 0x278], esi
mov byte [ebp - 4], 0x94
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xd4], 0
lea ecx, [ebp - 0xd4]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46b82f
push 0x50993c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xd4]
or ebx, 1
mov dword [ebp - 0x274], esi
mov dword [ebp + 0x20], ebx
mov byte [ebp - 4], 0x96
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xd8], 0
lea ecx, [ebp - 0xd8]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xc8]
call eax
test eax, eax
jns 0x46b879
push 0x50996c
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0xd8]
or ebx, 0x80000000
mov byte [ebp - 4], 0x98
cmp edi, esi
je 0x46b8a5
mov ecx, edi
mov edi, esi
xor esi, esi
mov dword [ebp + 0x10], edi
test ecx, ecx
je 0x46b8a5
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x99
test esi, esi
je 0x46b8b5
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x9a
mov eax, dword [ebp - 0x274]
test eax, eax
je 0x46b8cb
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x9b
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x46b8e1
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x92
test edi, edi
je 0x46ee9e
mov dword [ebp - 0xdc], 0
lea ecx, [ebp - 0xdc]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46b916
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xdc]
mov dword [ebp - 0x27c], esi
mov byte [ebp - 4], 0x9d
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xe0], 0
lea ecx, [ebp - 0xe0]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x84]
call eax
test eax, eax
jns 0x46b95a
push 0x509a0c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xe0]
or ebx, 0x60000000
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], 0x9f
mov eax, dword [ebp - 0x30]
cmp eax, esi
je 0x46b989
mov ecx, eax
mov eax, esi
xor esi, esi
mov dword [ebp - 0x30], eax
test ecx, ecx
je 0x46b989
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xa0
test esi, esi
je 0x46b999
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xa1
mov eax, dword [ebp - 0x27c]
test eax, eax
je 0x46b9af
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x92
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x46ee9e
movd xmm0, dword [ebp - 0x58]
mov eax, dword [esi]
cvtdq2ps xmm0, xmm0
push ecx
mov eax, dword [eax + 0x74]
movss dword [esp], xmm0
push esi
call eax
test eax, eax
jns 0x46b9e4
push 0x509a4c
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x5c]
push 0
push 0
mov eax, dword [ebx - 0xc]
push eax
push ebx
push 0
push 3
mov dword [ebp - 0x48], eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push 0
mov dword [ebp - 0x44], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov dword [ebp - 0x54], eax
test eax, eax
je 0x46eec0
push dword [ebp - 0x44]
push eax
push dword [ebp - 0x48]
push ebx
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0xc
call dword [sym.imp.mfc140.dll_Ordinal_1507]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x264], ebx
mov byte [ebp - 4], 0xa2
test ebx, ebx
je 0x46ba64
push dword [ebp - 0x54]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x46eec5
jmp 0x46ba66
xor ebx, ebx
mov byte [ebp - 4], 0x92
mov dword [ebp - 0x280], ebx
test ebx, ebx
je 0x46eecf
mov byte [ebp - 4], 0xa4
mov eax, dword [esi]
push dword [ebx]
push esi
mov eax, dword [eax + 0x7c]
call eax
test eax, eax
jns 0x46ba96
push 0x509a4c
push esi
push eax
call fcn.004e2c00
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 0x92
call fcn.00434ed0
lea eax, [ebp - 0x3d8]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.align
lea ecx, [ebp - 0x284]
mov byte [ebp - 4], 0xa5
push ecx
mov ecx, eax
call fcn.004b93a0
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
push str.center
push dword [eax]
call ebx
mov byte [ebp - 4], 0xa5
add esp, 8
mov edx, dword [ebp - 0x284]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x46bb03
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0xa7
mov ecx, dword [ebp - 0x3d4]
test ecx, ecx
je 0x46bb19
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xa8
mov ecx, dword [ebp - 0x3d8]
test ecx, ecx
je 0x46bb2f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x92
test esi, esi
jne 0x46bc07
mov dword [ebp - 0xe4], esi
lea ecx, [ebp - 0xe4]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46bb60
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp - 0xe4]
or ebx, 0x20
mov dword [ebp - 0x28c], esi
mov byte [ebp - 4], 0xaa
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xe8], 0
lea ecx, [ebp - 0xe8]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x88]
call eax
test eax, eax
jns 0x46bbaa
push 0x509a0c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xe8]
or ebx, 0x10
mov dword [ebp - 0x288], esi
mov dword [ebp + 0x20], ebx
mov byte [ebp - 4], 0xac
test esi, esi
je 0x46ee9e
mov eax, dword [esi]
push 2
push esi
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46bbe2
push 0x509a2c
push esi
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0xad
mov eax, dword [ebp - 0x288]
test eax, eax
je 0x46bbf8
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0xae
mov eax, dword [ebp - 0x28c]
jmp 0x46bec3
lea eax, [ebp - 0x3e0]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.align
lea ecx, [ebp - 0x290]
mov byte [ebp - 4], 0xaf
push ecx
mov ecx, eax
call fcn.004b93a0
push str.left
push dword [eax]
call ebx
mov byte [ebp - 4], 0xaf
add esp, 8
mov edx, dword [ebp - 0x290]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x46bc5f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0xb1
mov ecx, dword [ebp - 0x3dc]
test ecx, ecx
je 0x46bc75
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb2
mov ecx, dword [ebp - 0x3e0]
test ecx, ecx
je 0x46bc8b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x92
test esi, esi
jne 0x46bd66
mov dword [ebp - 0xec], esi
lea ecx, [ebp - 0xec]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46bcbc
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp - 0xec]
or ebx, 0x80
mov dword [ebp - 0x298], esi
mov byte [ebp - 4], 0xb4
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xf0], 0
lea ecx, [ebp - 0xf0]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x88]
call eax
test eax, eax
jns 0x46bd09
push 0x509a0c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xf0]
or ebx, 0x40
mov dword [ebp - 0x294], esi
mov dword [ebp + 0x20], ebx
mov byte [ebp - 4], 0xb6
test esi, esi
je 0x46ee9e
mov eax, dword [esi]
push 1
push esi
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46bd41
push 0x509a2c
push esi
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0xb7
mov eax, dword [ebp - 0x294]
test eax, eax
je 0x46bd57
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0xb8
mov eax, dword [ebp - 0x298]
jmp 0x46bec3
lea eax, [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.align
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0xb9
push ecx
mov ecx, eax
call fcn.004b93a0
push str.right
push dword [eax]
call ebx
mov byte [ebp - 4], 0xb9
add esp, 8
mov edx, dword [ebp - 0x29c]
mov esi, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x46bdbe
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0xbb
mov ecx, dword [ebp - 0x3e4]
test ecx, ecx
je 0x46bdd4
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xbc
mov ecx, dword [ebp - 0x3e8]
test ecx, ecx
je 0x46bdea
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0x92
test esi, esi
jne 0x46bed3
mov dword [ebp - 0xf4], esi
lea ecx, [ebp - 0xf4]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46be1b
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp - 0xf4]
or ebx, 0x100
mov dword [ebp - 0x2a4], esi
mov byte [ebp - 4], 0xbe
test esi, esi
je 0x46ee9e
mov dword [ebp - 0xf8], 0
lea ecx, [ebp - 0xf8]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x88]
call eax
test eax, eax
jns 0x46be68
push 0x509a0c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0xf8]
or ebx, 0x200
mov dword [ebp - 0x2a0], esi
mov dword [ebp + 0x20], ebx
mov byte [ebp - 4], 0xc0
test esi, esi
je 0x46ee9e
mov eax, dword [esi]
push 3
push esi
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46bea3
push 0x509a2c
push esi
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0xc1
mov eax, dword [ebp - 0x2a0]
test eax, eax
je 0x46beb9
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0xc2
mov eax, dword [ebp - 0x2a4]
test eax, eax
je 0x46becf
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x92
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x3c]
jmp 0x46b7a3
mov ecx, dword [ebp - 0x38]
mov edx, ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 8]
jmp 0x46b790
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x3f8]
mov byte [ebp - 4], 0xc6
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push 0x508d7c
lea ecx, [ebp - 0x3f0]
mov byte [ebp - 4], 0xc7
push ecx
mov ecx, eax
call fcn.004ba270
mov edi, eax
mov esi, dword [edi]
cmp dword [ebp - 0x6c], esi
je 0x46bf69
mov byte [ebp - 4], 0xc8
test esi, esi
je 0x46bf53
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], esi
mov byte [ebp - 4], 0xc9
test ecx, ecx
je 0x46bf69
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov esi, dword [edi + 4]
mov ecx, dword [ebp - 0x68]
cmp ecx, esi
je 0x46bf99
mov byte [ebp - 4], 0xca
test esi, esi
je 0x46bf86
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x68], esi
mov byte [ebp - 4], 0xcb
test ecx, ecx
je 0x46bf99
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xcc
mov ecx, dword [ebp - 0x3ec]
test ecx, ecx
je 0x46bfaf
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xcd
mov ecx, dword [ebp - 0x3f0]
test ecx, ecx
je 0x46bfc5
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xce
mov ecx, dword [ebp - 0x3f4]
test ecx, ecx
je 0x46bfdb
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xcf
mov ecx, dword [ebp - 0x3f8]
test ecx, ecx
je 0x46bff1
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xc6
xor ebx, ebx
mov dword [ebp - 0x38], 1
mov esi, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x3c], ebx
test esi, esi
je 0x46c035
mov dword [ebp - 0xfc], eax
lea ecx, [ebp - 0xfc]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x20]
call eax
test eax, eax
jns 0x46c02f
push 0x50f9d8
push esi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0xfc]
cmp ebx, eax
jge 0x46de63
push ebx
lea eax, [ebp - 0x408]
push eax
lea ecx, [ebp - 0x6c]
call fcn.004ba8e0
push 0x508d90
lea ecx, [ebp - 0x3d0]
mov byte [ebp - 4], 0xd0
push ecx
mov ecx, eax
call fcn.004ba270
mov edi, eax
mov esi, dword [edi]
cmp dword [ebp - 0x2c], esi
je 0x46c093
mov byte [ebp - 4], 0xd1
test esi, esi
je 0x46c07d
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], esi
mov byte [ebp - 4], 0xd2
test ecx, ecx
je 0x46c093
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov esi, dword [edi + 4]
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
je 0x46c0c3
mov byte [ebp - 4], 0xd3
test esi, esi
je 0x46c0b0
mov eax, dword [esi]
push esi
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x28], esi
mov byte [ebp - 4], 0xd4
test ecx, ecx
je 0x46c0c3
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xd5
mov ecx, dword [ebp - 0x3cc]
test ecx, ecx
je 0x46c0d9
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xd6
mov ecx, dword [ebp - 0x3d0]
test ecx, ecx
je 0x46c0ef
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xd7
mov ecx, dword [ebp - 0x404]
test ecx, ecx
je 0x46c105
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xd8
mov ecx, dword [ebp - 0x408]
test ecx, ecx
je 0x46c11b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov edx, dword [ebp - 0x3c]
xor ecx, ecx
mov byte [ebp - 4], 0xc6
xor ebx, ebx
mov edi, dword [ebp + 0x10]
lea eax, [edx + 1]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp + 8], ebx
mov dword [ebp - 0x1c], ecx
test esi, esi
je 0x46c178
mov dword [ebp - 0x100], eax
lea ecx, [ebp - 0x100]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x20]
call eax
test eax, eax
jns 0x46c166
push 0x50f9d8
push esi
push eax
call fcn.004e2c00
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x100]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x1c]
cmp ebx, eax
jge 0x46de5b
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x104], 0
lea ebx, [ebp - 0x104]
mov eax, dword [esi]
inc ecx
push ebx
inc edx
push ecx
mov eax, dword [eax + 0x2c]
push edx
push esi
mov dword [ebp - 0x34], edx
call eax
test eax, eax
jns 0x46c1bb
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x104]
or dword [ebp - 0x18], 4
mov dword [ebp - 0x2ac], esi
mov byte [ebp - 4], 0xda
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x108], 0
lea ecx, [ebp - 0x108]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46c200
push 0x50993c
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x108]
or ebx, 0x10000000
mov dword [ebp - 0x2a8], esi
mov byte [ebp - 4], 0xdc
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x10c], 0
lea ecx, [ebp - 0x10c]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xc8]
call eax
test eax, eax
jns 0x46c24d
push 0x50996c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x10c]
or ebx, 0x20000000
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
mov byte [ebp - 4], 0xde
cmp edi, esi
je 0x46c27c
mov ecx, edi
mov edi, esi
xor esi, esi
mov dword [ebp + 0x10], edi
test ecx, ecx
je 0x46c27c
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xdf
test esi, esi
je 0x46c28c
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xe0
mov eax, dword [ebp - 0x2a8]
test eax, eax
je 0x46c2a2
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0xe1
mov eax, dword [ebp - 0x2ac]
test eax, eax
je 0x46c2b8
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
cmp dword [ebp - 0x3c], 0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc6
jne 0x46c510
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x418]
push esi
push eax
call fcn.004ba8e0
push str.width
mov ecx, eax
mov byte [ebp - 4], 0xe2
call fcn.004b8fd0
test eax, eax
je 0x46c322
push esi
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
or ebx, 1
mov byte [ebp - 4], 0xe3
push str.width
mov ecx, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.004b8fd0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
jmp 0x46c32a
movsd xmm0, qword [0x514540]
mov esi, dword [ebp + 0x18]
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x110], 0
push ecx
push esi
mov eax, dword [esi]
movsd qword [ebp - 0x4c], xmm0
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46c35b
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x110]
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 4], 0xe5
test ebx, ebx
je 0x46ee9e
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x114], 0
mov eax, dword [ebx]
push ecx
mov ecx, dword [ebp - 0x1c]
inc ecx
mov eax, dword [eax + 0x30]
push ecx
push ebx
call eax
test eax, eax
jns 0x46c3a4
push 0x50991c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x114]
or dword [ebp - 0x18], 0xc00
mov dword [ebp - 0x2b0], ebx
mov byte [ebp - 4], 0xe7
test ebx, ebx
je 0x46ee9e
movsd xmm0, qword [ebp - 0x4c]
mov eax, dword [ebx]
cvtpd2ps xmm0, xmm0
push ecx
mov eax, dword [eax + 0x34]
movss dword [esp], xmm0
push ebx
call eax
test eax, eax
jns 0x46c3ea
push 0x50992c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0xe8
mov eax, dword [ebp - 0x2b0]
test eax, eax
je 0x46c400
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xe9
mov eax, dword [ebp - 0x2b4]
test eax, eax
je 0x46c419
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xe2
mov eax, dword [ebp - 0x14]
test al, 1
je 0x46c459
and eax, 0xfffffffe
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xea
mov ecx, dword [ebp - 0x40c]
test ecx, ecx
je 0x46c443
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xeb
mov ecx, dword [ebp - 0x410]
test ecx, ecx
je 0x46c459
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xec
mov ecx, dword [ebp - 0x414]
test ecx, ecx
je 0x46c46f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xed
mov ecx, dword [ebp - 0x418]
test ecx, ecx
je 0x46c485
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
push dword [ebp + 8]
lea eax, [ebp - 0x420]
mov byte [ebp - 4], 0xc6
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
push str.wrap
mov ecx, eax
mov byte [ebp - 4], 0xee
call fcn.004b8fd0
mov ebx, eax
mov byte [ebp - 4], 0xef
mov ecx, dword [ebp - 0x41c]
test ecx, ecx
je 0x46c4c3
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xf0
mov ecx, dword [ebp - 0x420]
test ecx, ecx
je 0x46c4d9
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xc6
cmp ebx, 1
jne 0x46c4f9
test edi, edi
je 0x46ee9e
mov eax, dword [edi]
push 0xffffffffffffffff
push edi
mov eax, dword [eax + 0x78]
call eax
jmp 0x46c591
test edi, edi
je 0x46ee9e
mov eax, dword [edi]
push 0
push edi
mov eax, dword [eax + 0x78]
call eax
jmp 0x46c591
push dword [ebp + 8]
lea eax, [ebp - 0x428]
push eax
call fcn.004ba8e0
push str.wrap
mov ecx, eax
mov byte [ebp - 4], 0xf1
call fcn.004b8fd0
mov esi, eax
mov byte [ebp - 4], 0xf2
mov ecx, dword [ebp - 0x424]
test ecx, ecx
je 0x46c547
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xf3
mov ecx, dword [ebp - 0x428]
test ecx, ecx
je 0x46c55d
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xc6
cmp esi, 1
jne 0x46c572
test edi, edi
je 0x46ee9e
push 0xffffffffffffffff
jmp 0x46c57c
test edi, edi
je 0x46ee9e
push 0
mov eax, dword [edi]
push edi
mov eax, dword [eax + 0x78]
call eax
mov eax, dword [edi]
push 1
push edi
mov eax, dword [eax + 0x70]
call eax
mov esi, dword [ebp + 0x18]
push dword [ebp + 8]
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
push str.align
lea ecx, [ebp - 0x2b8]
mov byte [ebp - 4], 0xf4
push ecx
mov ecx, eax
call fcn.004b93a0
push str.center
push dword [eax]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
mov byte [ebp - 4], 0xf4
add esp, 8
mov edx, dword [ebp - 0x2b8]
mov ebx, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x46c5f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov byte [ebp - 4], 0xf6
mov ecx, dword [ebp - 0x42c]
test ecx, ecx
je 0x46c606
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xf7
mov ecx, dword [ebp - 0x430]
test ecx, ecx
je 0x46c61c
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xc6
test ebx, ebx
jne 0x46c771
mov dword [ebp - 0x118], ebx
lea ecx, [ebp - 0x118]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46c64d
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x118]
mov dword [ebp - 0x2c0], ebx
mov byte [ebp - 4], 0xf9
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x11c], 0
lea ecx, [ebp - 0x11c]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x88]
call eax
test eax, eax
jns 0x46c691
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x11c]
or dword [ebp - 0x18], 0x3000
mov dword [ebp - 0x2bc], ebx
mov byte [ebp - 4], 0xfb
test ebx, ebx
je 0x46ee9e
mov eax, dword [ebx]
push 2
push ebx
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46c6ca
push 0x509a2c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0xfc
mov eax, dword [ebp - 0x2bc]
test eax, eax
je 0x46c6e0
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0xfd
mov eax, dword [ebp - 0x2c0]
test eax, eax
je 0x46c6f6
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0xc6
push dword [ebp + 8]
lea eax, [ebp - 0x450]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 4], 0x112
mov ecx, eax
mov ebx, dword [ebp - 0x14]
or ebx, 2
push str.fontsize
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.004b8fd0
test eax, eax
je 0x46ca62
push dword [ebp + 8]
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 4], 0x113
or ebx, 4
push str.fontsize
mov ecx, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.004b8fd0
cmp eax, dword [ebp - 0x58]
je 0x46ca62
mov bl, 1
jmp 0x46ca64
push dword [ebp + 8]
lea eax, [ebp - 0x438]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
push str.align
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0xfe
push ecx
mov ecx, eax
call fcn.004b93a0
push str.left
push dword [eax]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
mov byte [ebp - 4], 0xfe
add esp, 8
mov edx, dword [ebp - 0x2c4]
mov ebx, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x46c7d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 4], 0x100
mov ecx, dword [ebp - 0x434]
test ecx, ecx
je 0x46c7e9
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x101
mov ecx, dword [ebp - 0x438]
test ecx, ecx
je 0x46c802
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test ebx, ebx
jne 0x46c8f1
mov dword [ebp - 0x120], ebx
lea ecx, [ebp - 0x120]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46c836
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x120]
mov dword [ebp - 0x2cc], ebx
mov dword [ebp - 4], 0x103
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x124], 0
lea ecx, [ebp - 0x124]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x88]
call eax
test eax, eax
jns 0x46c87d
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x124]
or dword [ebp - 0x18], 0x18000000
mov dword [ebp - 0x2c8], ebx
mov byte [ebp - 4], 5
test ebx, ebx
je 0x46ee9e
mov eax, dword [ebx]
push 1
push ebx
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46c8b6
push 0x509a2c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x2c8]
test eax, eax
je 0x46c8cc
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x107
mov eax, dword [ebp - 0x2cc]
test eax, eax
je 0x46c8e5
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
jmp 0x46c6fa
push dword [ebp + 8]
lea eax, [ebp - 0x440]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
push str.align
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 4], pe_nt_image_headers32
push ecx
mov ecx, eax
call fcn.004b93a0
push str.right
push dword [eax]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicmp]
mov byte [ebp - 4], 8
add esp, 8
mov edx, dword [ebp - 0x2d0]
mov ebx, eax
add edx, 0xfffffff0
or ecx, 0xffffffff
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x46c953
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 4], 0x10a
mov ecx, dword [ebp - 0x43c]
test ecx, ecx
je 0x46c96c
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x10b
mov ecx, dword [ebp - 0x440]
test ecx, ecx
je 0x46c985
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test ebx, ebx
jne 0x46c6fa
mov dword [ebp - 0x128], ebx
lea ecx, [ebp - 0x128]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46c9b9
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x128]
or dword [ebp + 0x20], 4
mov dword [ebp - 0x2d8], ebx
mov dword [ebp - 4], 0x10d
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x12c], 0
lea ecx, [ebp - 0x12c]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x88]
call eax
test eax, eax
jns 0x46ca04
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x12c]
or dword [ebp + 0x20], 8
mov dword [ebp - 0x2d4], ebx
mov byte [ebp - 4], 0xf
test ebx, ebx
je 0x46ee9e
mov eax, dword [ebx]
push 3
push ebx
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46ca3a
push 0x509a2c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x2d4]
test eax, eax
je 0x46ca50
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x111
mov eax, dword [ebp - 0x2d8]
jmp 0x46c8d9
xor bl, bl
mov ecx, dword [ebp - 0x14]
test cl, 4
je 0x46caaa
and ecx, 0xfffffffb
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], 0x114
mov ecx, dword [ebp - 0x444]
test ecx, ecx
je 0x46ca8e
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x115
mov ecx, dword [ebp - 0x448]
test ecx, ecx
je 0x46caa7
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xc6
test cl, 2
je 0x46caf5
and ecx, 0xfffffffd
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x116
mov ecx, dword [ebp - 0x44c]
test ecx, ecx
je 0x46cad5
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x117
mov ecx, dword [ebp - 0x450]
test ecx, ecx
je 0x46caee
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46cc3a
push dword [ebp + 8]
lea eax, [ebp - 0x458]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0x118
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x130], 0
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46cb42
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x130]
mov dword [ebp - 0x2e0], ebx
mov byte [ebp - 4], 0x1a
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x134], 0
lea ecx, [ebp - 0x134]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x84]
call eax
test eax, eax
jns 0x46cb86
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x134]
mov dword [ebp - 0x2dc], ebx
mov byte [ebp - 4], 0x1c
test ebx, ebx
je 0x46ee9e
mov ecx, dword [ebp - 0x48]
push str.fontsize
call fcn.004b8fd0
push ecx
movd xmm0, eax
mov eax, dword [ebx]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x74]
movss dword [esp], xmm0
push ebx
call eax
test eax, eax
jns 0x46cbd0
push 0x509a4c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x2dc]
test eax, eax
je 0x46cbe6
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x2e0]
test eax, eax
je 0x46cbfc
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x11f
mov ecx, dword [ebp - 0x454]
test ecx, ecx
je 0x46cc15
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x120
mov ecx, dword [ebp - 0x458]
test ecx, ecx
je 0x46cc2e
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
or dword [ebp - 0x18], 0xc001
jmp 0x46cd1e
mov dword [ebp - 0x138], 0
lea ecx, [ebp - 0x138]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46cc63
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x138]
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 4], 0x122
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x13c], 0
lea ecx, [ebp - 0x13c]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x84]
call eax
test eax, eax
jns 0x46ccaa
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x13c]
mov dword [ebp - 0x2e4], ebx
mov byte [ebp - 4], 0x24
test ebx, ebx
je 0x46ee9e
movd xmm0, dword [ebp - 0x58]
mov eax, dword [ebx]
cvtdq2ps xmm0, xmm0
push ecx
mov eax, dword [eax + 0x74]
movss dword [esp], xmm0
push ebx
call eax
test eax, eax
jns 0x46cce8
push 0x509a4c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x2e4]
test eax, eax
je 0x46ccfe
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x126
mov eax, dword [ebp - 0x2e8]
test eax, eax
je 0x46cd17
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
or dword [ebp - 0x18], 0x30001
mov dword [ebp - 4], 0xc6
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46cd4e
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x140]
or dword [ebp - 0x14], 0x40000000
mov dword [ebp - 0x2f4], ebx
mov dword [ebp - 4], 0x128
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x144], 0
lea ecx, [ebp - 0x144]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x84]
call eax
test eax, eax
jns 0x46cd9c
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x144]
or dword [ebp - 0x14], 0x80000000
mov dword [ebp - 0x2f0], ebx
mov byte [ebp - 4], 0x2a
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x148], 0
lea ecx, [ebp - 0x148]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46cde4
push 0x509a4c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x148]
mov dword [ebp - 0x2ec], ebx
mov byte [ebp - 4], 0x2c
test ebx, ebx
je 0x46ee9e
mov eax, dword [ebx]
push dword [ebp - 0x78]
push ebx
mov eax, dword [eax + 0x2c]
call eax
test eax, eax
jns 0x46ce17
push 0x509a7c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x2ec]
test eax, eax
je 0x46ce2d
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x2f0]
test eax, eax
je 0x46ce43
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x12f
mov eax, dword [ebp - 0x2f4]
test eax, eax
je 0x46ce5c
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
push dword [ebp + 8]
lea eax, [ebp - 0x468]
mov dword [ebp - 4], 0xc6
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 4], 0x130
mov ecx, eax
mov ebx, dword [ebp - 0x14]
or ebx, 8
push str.color
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.004b8fd0
test eax, eax
je 0x46cecf
push dword [ebp + 8]
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 4], 0x131
or ebx, 0x10
push str.color
mov ecx, eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
call fcn.004b8fd0
cmp eax, dword [ebp - 0x78]
je 0x46cecf
mov bl, 1
jmp 0x46ced1
xor bl, bl
mov ecx, dword [ebp - 0x14]
test cl, 0x10
je 0x46cf17
and ecx, 0xffffffef
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], 0x132
mov ecx, dword [ebp - 0x45c]
test ecx, ecx
je 0x46cefb
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x133
mov ecx, dword [ebp - 0x460]
test ecx, ecx
je 0x46cf14
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xc6
test cl, 8
je 0x46cf62
and ecx, 0xfffffff7
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x134
mov ecx, dword [ebp - 0x464]
test ecx, ecx
je 0x46cf42
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x135
mov ecx, dword [ebp - 0x468]
test ecx, ecx
je 0x46cf5b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46d0f6
push dword [ebp + 8]
lea eax, [ebp - 0x470]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0x136
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x14c], 0
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46cfaf
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x14c]
mov dword [ebp - 0x300], ebx
mov byte [ebp - 4], 0x38
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x150], 0
lea ecx, [ebp - 0x150]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x84]
call eax
test eax, eax
jns 0x46cff3
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x150]
mov dword [ebp - 0x2fc], ebx
mov byte [ebp - 4], 0x3a
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x154], 0
lea ecx, [ebp - 0x154]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46d034
push 0x509a4c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x154]
or dword [ebp - 0x18], 0x1c0000
mov dword [ebp - 0x2f8], ebx
mov byte [ebp - 4], 0x3c
test ebx, ebx
je 0x46ee9e
mov ecx, dword [ebp - 0x48]
push str.color
call fcn.004b8fd0
mov ecx, eax
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x2c]
call eax
test eax, eax
jns 0x46d07b
push 0x509a7c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x2f8]
test eax, eax
je 0x46d091
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x2fc]
test eax, eax
je 0x46d0a7
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x300]
test eax, eax
je 0x46d0bd
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x140
mov ecx, dword [ebp - 0x46c]
test ecx, ecx
je 0x46d0d6
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x141
mov ecx, dword [ebp - 0x470]
test ecx, ecx
je 0x46d0ef
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
push dword [ebp + 8]
lea eax, [ebp - 0x478]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
push str.bgcolor
mov ecx, eax
mov dword [ebp - 4], 0x142
call fcn.004b8fd0
mov ebx, eax
mov dword [ebp - 4], 0x143
mov ecx, dword [ebp - 0x474]
test ecx, ecx
je 0x46d136
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x144
mov ecx, dword [ebp - 0x478]
test ecx, ecx
je 0x46d14f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test ebx, ebx
je 0x46d349
push dword [ebp + 8]
lea eax, [ebp - 0x480]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], 0x145
lea ecx, [ebp - 0x158]
push ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x158], 0
inc ecx
mov eax, dword [esi]
push ecx
push dword [ebp - 0x34]
mov eax, dword [eax + 0x2c]
push esi
call eax
test eax, eax
jns 0x46d1ab
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x158]
mov dword [ebp - 0x310], ebx
mov byte [ebp - 4], 0x47
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x15c], 0
lea ecx, [ebp - 0x15c]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46d1ec
push 0x50993c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x15c]
mov dword [ebp - 0x30c], ebx
mov byte [ebp - 4], 0x49
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x160], 0
lea ecx, [ebp - 0x160]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x80]
call eax
test eax, eax
jns 0x46d230
push 0x50996c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x160]
mov dword [ebp - 0x308], ebx
mov byte [ebp - 4], 0x4b
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x164], 0
lea ecx, [ebp - 0x164]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46d271
push 0x509a6c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x164]
or dword [ebp - 0x18], 0x1e00000
mov dword [ebp - 0x304], ebx
mov byte [ebp - 4], 0x4d
test ebx, ebx
je 0x46ee9e
mov ecx, dword [ebp - 0x48]
push str.bgcolor
call fcn.004b8fd0
mov ecx, eax
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x2c]
call eax
test eax, eax
jns 0x46d2b8
push 0x509a7c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0x304]
test eax, eax
je 0x46d2ce
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x308]
test eax, eax
je 0x46d2e4
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x30c]
test eax, eax
je 0x46d2fa
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x51
mov eax, dword [ebp - 0x310]
test eax, eax
je 0x46d310
push dword [ebp + 8]
lea eax, [ebp - 0x490]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
mov dword [ebp - 4], 0x154
lea ecx, [ebp - 0x318]
mov ebx, dword [ebp - 0x14]
push str.fontface
push ecx
or ebx, 0x20
mov ecx, eax
mov dword [ebp - 0x24], ebx
call fcn.004b93a0
mov dword [ebp - 4], 0x155
or ebx, 0x40
mov eax, dword [eax]
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
cmp dword [eax - 0xc], 0
jle 0x46d3ea
push dword [ebp + 8]
lea eax, [ebp - 0x488]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
push str.fontface
lea ecx, [ebp - 0x314]
mov dword [ebp - 4], 0x156
push ecx
or ebx, 0x80
mov ecx, eax
mov dword [ebp - 0x24], ebx
call fcn.004b93a0
or ebx, 0x100
mov dword [ebp - 0x14], ebx
push dword [eax]
push dword [ebp - 0x5c]
call dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbsicoll]
add esp, 8
test eax, eax
je 0x46d3ea
mov bl, 1
jmp 0x46d3ec
xor bl, bl
mov ecx, dword [ebp - 0x14]
test ecx, 0x100
je 0x46d426
mov edx, dword [ebp - 0x314]
and ecx, 0xfffffeff
mov dword [ebp - 0x14], ecx
add edx, 0xfffffff0
mov dword [ebp - 0x24], ecx
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46d426
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x14]
test cl, cl
jns 0x46d46b
and ecx, 0xffffff7f
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], 0x157
mov ecx, dword [ebp - 0x484]
test ecx, ecx
je 0x46d44f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x158
mov ecx, dword [ebp - 0x488]
test ecx, ecx
je 0x46d468
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0x154
test cl, 0x40
je 0x46d4a3
mov edx, dword [ebp - 0x318]
and ecx, 0xffffffbf
mov dword [ebp - 0x14], ecx
add edx, 0xfffffff0
mov dword [ebp - 0x24], ecx
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46d4a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xc6
test cl, 0x20
je 0x46d4ee
and ecx, 0xffffffdf
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 0x159
mov ecx, dword [ebp - 0x48c]
test ecx, ecx
je 0x46d4ce
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x15a
mov ecx, dword [ebp - 0x490]
test ecx, ecx
je 0x46d4e7
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46d70a
push dword [ebp + 8]
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x2c]
call fcn.004ba8e0
push str.fontface
lea ecx, [ebp - 0x324]
mov dword [ebp - 4], 0x15b
push ecx
mov ecx, eax
call fcn.004b93a0
mov byte [ebp - 4], 0x5c
mov ebx, dword [eax]
push 0
push 0
mov eax, dword [ebx - 0xc]
push eax
push ebx
push 0
push 3
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push 0
mov dword [ebp - 0x48], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x46eec0
push dword [ebp - 0x48]
push eax
push dword [ebp - 0x54]
push ebx
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0xc
call dword [sym.imp.mfc140.dll_Ordinal_1507]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x264], ebx
mov byte [ebp - 4], 0x5d
test ebx, ebx
je 0x46d5a5
push dword [ebp - 0x50]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x46eed9
jmp 0x46d5a7
xor ebx, ebx
mov byte [ebp - 4], 0x5c
mov dword [ebp - 0x170], ebx
test ebx, ebx
je 0x46eee3
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x168], 0
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46d5e6
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x168]
mov dword [ebp - 0x320], ebx
mov byte [ebp - 4], 0x60
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x16c], 0
lea ecx, [ebp - 0x16c]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x84]
call eax
test eax, eax
jns 0x46d62a
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x16c]
or dword [ebp - 0x18], 0x6000000
mov dword [ebp - 0x31c], ebx
mov byte [ebp - 4], 0x62
test ebx, ebx
je 0x46ee9e
mov ebx, dword [ebp - 0x5c]
push 0
push 0
mov eax, dword [ebx - 0xc]
push eax
push ebx
push 0
push 3
mov dword [ebp - 0x54], eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push eax
push 0
mov dword [ebp - 0x48], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov dword [ebp - 0x50], eax
test eax, eax
je 0x46eec0
push dword [ebp - 0x48]
push eax
push dword [ebp - 0x54]
push ebx
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0xc
call dword [sym.imp.mfc140.dll_Ordinal_1507]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x378], ebx
mov dword [ebp - 4], 0x16a
test ebx, ebx
je 0x46d78d
push dword [ebp - 0x50]
mov dword [ebx + 4], 0
mov dword [ebx + 8], 1
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebx], eax
test eax, eax
je 0x46eeed
jmp 0x46d78f
xor ebx, ebx
mov dword [ebp - 4], 0xc6
mov dword [ebp - 0x17c], ebx
test ebx, ebx
je 0x46eef7
mov dword [ebp - 4], 0x16b
lea ecx, [ebp - 0x174]
mov dword [ebp - 0x174], 0
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46d7d4
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x174]
mov dword [ebp - 0x32c], ebx
mov byte [ebp - 4], 0x6d
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x178], 0
lea ecx, [ebp - 0x178]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x84]
call eax
test eax, eax
jns 0x46d818
push 0x509a0c
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x178]
or dword [ebp - 0x18], 0x30
mov dword [ebp - 0x328], ebx
mov byte [ebp - 4], 0x6f
test ebx, ebx
je 0x46ee9e
mov ebx, dword [ebp - 0x34]
jmp 0x46bffe
lea eax, [ebp - 0x4d0]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.autosizefromrow
mov ecx, eax
mov dword [ebp - 4], 0x19b
call fcn.004b8fd0
mov esi, eax
mov dword [ebp - 4], 0x19c
mov ecx, dword [ebp - 0x4cc]
test ecx, ecx
je 0x46dea0
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x19d
mov ecx, dword [ebp - 0x4d0]
test ecx, ecx
je 0x46deb9
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test esi, esi
jle 0x46df22
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.autosizefromrow
mov ecx, eax
mov dword [ebp - 4], 0x19e
call fcn.004b8fd0
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], 0x19f
mov ecx, dword [ebp - 0x4d4]
test ecx, ecx
je 0x46df02
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1a0
mov ecx, dword [ebp - 0x4d8]
test ecx, ecx
je 0x46df1b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
lea eax, [ebp - 0x4e0]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.noresize
mov ecx, eax
mov dword [ebp - 4], 0x1a1
call fcn.004b8fd0
mov esi, eax
mov dword [ebp - 4], 0x1a2
mov ecx, dword [ebp - 0x4dc]
test ecx, ecx
je 0x46df5f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1a3
mov ecx, dword [ebp - 0x4e0]
test ecx, ecx
je 0x46df78
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test esi, esi
mov esi, dword [ebp + 0x18]
jne 0x46ed39
mov ebx, 1
mov dword [ebp + 8], ebx
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x19c], 0
lea ecx, [ebp - 0x19c]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46dfc3
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov edi, dword [ebp - 0x19c]
or dword [ebp - 0x14], 0x200000
mov dword [ebp - 0x348], edi
mov dword [ebp - 4], 0x1a5
test edi, edi
je 0x46ee9e
mov dword [ebp - 0x1a0], 0
lea ecx, [ebp - 0x1a0]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e00e
push 0x509a8c
push edi
push eax
call fcn.004e2c00
cmp ebx, dword [ebp - 0x1a0]
setle bl
mov dword [ebp - 4], 0x1a6
mov eax, dword [ebp - 0x348]
test eax, eax
je 0x46e030
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46e6fa
mov ebx, dword [ebp - 0x38]
xorps xmm0, xmm0
movsd qword [ebp - 0x74], xmm0
mov dword [ebp - 0x1a4], 0
lea ecx, [ebp - 0x1a4]
mov eax, dword [esi]
push ecx
push esi
mov dword [ebp + 0x20], ebx
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46e076
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov edi, dword [ebp - 0x1a4]
or dword [ebp - 0x14], 0x100000
mov dword [ebp - 0x34c], edi
mov dword [ebp - 4], 0x1a8
test edi, edi
je 0x46ee9e
mov dword [ebp - 0x1a8], 0
lea ecx, [ebp - 0x1a8]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e0c1
push 0x509a8c
push edi
push eax
call fcn.004e2c00
cmp ebx, dword [ebp - 0x1a8]
setle bl
mov dword [ebp - 4], 0x1a9
mov eax, dword [ebp - 0x34c]
test eax, eax
je 0x46e0e3
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46e600
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push 0x508d7c
lea ecx, [ebp - 0x500]
mov dword [ebp - 4], 0x1aa
push ecx
mov ecx, eax
call fcn.004ba270
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x4f8]
mov ebx, dword [ebp + 0x20]
push ebx
push ecx
mov ecx, eax
call fcn.004ba8e0
push 0x508d90
lea ecx, [ebp - 0x4f0]
mov byte [ebp - 4], 0xac
push ecx
mov ecx, eax
call fcn.004ba270
push dword [ebp + 8]
lea ecx, [ebp - 0x4e8]
mov byte [ebp - 4], 0xad
push ecx
mov ecx, eax
call fcn.004ba8e0
push str.colspan
mov ecx, eax
mov byte [ebp - 4], 0xae
call fcn.004b8fd0
mov edi, eax
mov byte [ebp - 4], 0xaf
mov ecx, dword [ebp - 0x4e4]
test ecx, ecx
je 0x46e185
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb0
mov ecx, dword [ebp - 0x4e8]
test ecx, ecx
je 0x46e19b
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb1
mov ecx, dword [ebp - 0x4ec]
test ecx, ecx
je 0x46e1b1
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb2
mov ecx, dword [ebp - 0x4f0]
test ecx, ecx
je 0x46e1c7
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb3
mov ecx, dword [ebp - 0x4f4]
test ecx, ecx
je 0x46e1dd
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb4
mov ecx, dword [ebp - 0x4f8]
test ecx, ecx
je 0x46e1f3
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb5
mov ecx, dword [ebp - 0x4fc]
test ecx, ecx
je 0x46e209
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xb6
mov ecx, dword [ebp - 0x500]
test ecx, ecx
je 0x46e21f
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1b7
mov ecx, dword [ebp - 0x504]
test ecx, ecx
je 0x46e238
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1b8
mov ecx, dword [ebp - 0x508]
test ecx, ecx
je 0x46e251
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test edi, edi
jne 0x46e5fa
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0x1ac], edi
mov eax, dword [esi]
push ecx
push dword [ebp + 8]
mov eax, dword [eax + 0x2c]
push ebx
push esi
call eax
test eax, eax
jns 0x46e289
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1ac]
or ebx, 0x4000000
mov dword [ebp - 0x354], esi
mov dword [ebp - 4], 0x1ba
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x1b0], 0
lea ecx, [ebp - 0x1b0]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e2d6
push 0x50993c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x1b0]
or ebx, 0x2000000
mov dword [ebp - 0x350], esi
mov byte [ebp - 4], 0xbc
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x1b4], 0
lea ecx, [ebp - 0x1b4]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xc8]
call eax
test eax, eax
jns 0x46e320
push 0x50996c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x1b4]
or ebx, 0x8000000
mov byte [ebp - 4], 0xbe
mov edi, dword [ebp + 0x10]
cmp edi, esi
je 0x46e34c
mov ecx, edi
mov edi, esi
xor esi, esi
mov dword [ebp + 0x10], edi
test ecx, ecx
je 0x46e34c
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xbf
test esi, esi
je 0x46e35c
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xc0
mov eax, dword [ebp - 0x350]
test eax, eax
je 0x46e372
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x1c1
mov eax, dword [ebp - 0x354]
test eax, eax
je 0x46e38b
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
test edi, edi
je 0x46ee9e
mov dword [ebp - 0x1b8], 0
lea ecx, [ebp - 0x1b8]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46e3c3
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x1b8]
or ebx, 0x1000000
mov dword [ebp - 0x1c8], eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], 0x1c3
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1bc], 0
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x38]
call eax
test eax, eax
jns 0x46e408
push 0x5099fc
push edi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x1bc]
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x1c0], 0
mov eax, dword [edi]
push ecx
push edi
movss dword [ebp - 0x44], xmm0
mov eax, dword [eax + 0x30]
call eax
test eax, eax
jns 0x46e43e
push 0x5099fc
push edi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x1c0]
mov esi, dword [ebp - 0x1c8]
movss dword [ebp - 0x40], xmm0
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x1c4], 0
lea ecx, [ebp - 0x1c4]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x44]
call eax
test eax, eax
jns 0x46e482
push 0x509a0c
push esi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x1c4]
addss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x44]
addss xmm0, dword [0x514468]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x74]
seta bl
mov dword [ebp - 4], 0x1c4
mov eax, dword [ebp - 0x1c8]
test eax, eax
je 0x46e4c0
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46e5f4
mov dword [ebp - 0x1cc], 0
lea ecx, [ebp - 0x1cc]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46e4f8
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x1cc]
or dword [ebp - 0x18], 8
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 4], 0x1c6
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x1d0], 0
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x30]
call eax
test eax, eax
jns 0x46e538
push 0x5099fc
push edi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x1d0]
mov esi, dword [ebp - 0x1dc]
movss dword [ebp - 0x44], xmm0
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x1d4], 0
lea ecx, [ebp - 0x1d4]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x44]
call eax
test eax, eax
jns 0x46e57c
push 0x509a0c
push esi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x1d4]
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1d8], 0
mov eax, dword [edi]
push ecx
push edi
movss dword [ebp - 0x40], xmm0
mov eax, dword [eax + 0x38]
call eax
test eax, eax
jns 0x46e5b2
push 0x5099fc
push edi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x40]
addss xmm0, dword [ebp - 0x44]
addss xmm0, dword [ebp - 0x1d8]
addss xmm0, dword [0x514468]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x74], xmm0
mov dword [ebp - 4], 0x1c7
mov eax, dword [ebp - 0x1dc]
test eax, eax
je 0x46e5ed
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp + 0x18]
inc ebx
jmp 0x46e04a
mov dword [ebp - 0x1e0], 0
lea ecx, [ebp - 0x1e0]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e629
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov edi, dword [ebp - 0x1e0]
or dword [ebp - 0x14], 0x800000
mov dword [ebp - 0x35c], edi
mov dword [ebp - 4], 0x1c9
test edi, edi
je 0x46ee9e
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1e4], 0
mov eax, dword [edi]
push ecx
push ebx
push edi
mov eax, dword [eax + 0x30]
call eax
test eax, eax
jns 0x46e678
push 0x50991c
push edi
push eax
call fcn.004e2c00
mov edi, dword [ebp - 0x1e4]
or dword [ebp - 0x14], 0x400000
mov dword [ebp - 0x358], edi
mov byte [ebp - 4], 0xcb
test edi, edi
je 0x46ee9e
movsd xmm0, qword [ebp - 0x74]
mov eax, dword [edi]
cvtpd2ps xmm0, xmm0
push ecx
mov eax, dword [eax + 0x34]
movss dword [esp], xmm0
push edi
call eax
test eax, eax
jns 0x46e6be
push 0x50992c
push edi
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0xcc
mov eax, dword [ebp - 0x358]
test eax, eax
je 0x46e6d4
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x1cd
mov eax, dword [ebp - 0x35c]
test eax, eax
je 0x46e6ed
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
inc ebx
jmp 0x46df8f
lea eax, [ebp - 0x510]
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
push str.rowheight
mov ecx, eax
mov dword [ebp - 4], 0x1ce
call fcn.004b8fd0
mov edi, eax
mov dword [ebp - 4], 0x1cf
mov ecx, dword [ebp - 0x50c]
test ecx, ecx
je 0x46e737
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1d0
mov ecx, dword [ebp - 0x510]
test ecx, ecx
je 0x46e750
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0xc6
test edi, edi
mov edi, dword [ebp + 0x10]
je 0x46ed3c
mov dword [ebp + 0x20], 1
nop dword [eax]
mov dword [ebp - 0x1e8], 0
lea ecx, [ebp - 0x1e8]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46e799
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x1e8]
or dword [ebp - 0x14], 0x1000
mov dword [ebp - 0x360], ebx
mov dword [ebp - 4], 0x1d2
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x1ec], 0
lea ecx, [ebp - 0x1ec]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e7e4
push 0x509a8c
push ebx
push eax
call fcn.004e2c00
mov eax, dword [ebp + 0x20]
cmp eax, dword [ebp - 0x1ec]
setle bl
mov dword [ebp - 4], 0x1d3
mov eax, dword [ebp - 0x360]
test eax, eax
je 0x46e809
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46ed3c
xorps xmm0, xmm0
mov dword [ebp + 8], 1
movsd qword [ebp - 0x74], xmm0
nop word [eax + eax]
mov dword [ebp - 0x1f0], 0
lea ecx, [ebp - 0x1f0]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e859
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x1f0]
or dword [ebp - 0x14], 0x800
mov dword [ebp - 0x364], ebx
mov dword [ebp - 4], 0x1d5
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x1f4], 0
lea ecx, [ebp - 0x1f4]
mov eax, dword [ebx]
push ecx
push ebx
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e8a4
push 0x509a8c
push ebx
push eax
call fcn.004e2c00
mov ecx, dword [ebp + 8]
cmp ecx, dword [ebp - 0x1f4]
setle bl
mov dword [ebp - 4], 0x1d6
mov eax, dword [ebp - 0x364]
test eax, eax
je 0x46e8cc
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46ec3e
lea edx, [ebp - 0x1f8]
mov dword [ebp - 0x1f8], 0
mov eax, dword [esi]
push edx
push ecx
push dword [ebp + 0x20]
mov eax, dword [eax + 0x2c]
push esi
call eax
test eax, eax
jns 0x46e908
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1f8]
or ebx, 0x10000
mov dword [ebp - 0x36c], esi
mov dword [ebp - 4], 0x1d8
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x1fc], 0
lea ecx, [ebp - 0x1fc]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x24]
call eax
test eax, eax
jns 0x46e955
push 0x50993c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x1fc]
or ebx, 0x2000
mov dword [ebp - 0x368], esi
mov byte [ebp - 4], 0xda
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x200], 0
lea ecx, [ebp - 0x200]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0xc8]
call eax
test eax, eax
jns 0x46e99f
push 0x50996c
push esi
push eax
call fcn.004e2c00
mov esi, dword [ebp - 0x200]
or ebx, 0x4000
mov byte [ebp - 4], 0xdc
cmp edi, esi
je 0x46e9c8
mov ecx, edi
mov edi, esi
xor esi, esi
mov dword [ebp + 0x10], edi
test ecx, ecx
je 0x46e9c8
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xdd
test esi, esi
je 0x46e9d8
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xde
mov eax, dword [ebp - 0x368]
test eax, eax
je 0x46e9ee
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x1df
mov eax, dword [ebp - 0x36c]
test eax, eax
je 0x46ea07
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
test edi, edi
je 0x46ee9e
mov dword [ebp - 0x204], 0
lea ecx, [ebp - 0x204]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46ea3f
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x204]
or ebx, 0x8000
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x518]
mov dword [ebp - 4], 0x1e1
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
mov ebx, eax
mov byte [ebp - 4], 0xe2
mov esi, dword [ebp - 0x20c]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x208], 0
lea ecx, [ebp - 0x208]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x48]
call eax
test eax, eax
jns 0x46eaa7
push 0x509a0c
push esi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x208]
mov ecx, ebx
push str.rowheight
movss dword [ebp - 0x40], xmm0
call fcn.004b8fd0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x74]
seta bl
mov byte [ebp - 4], 0xe3
mov ecx, dword [ebp - 0x514]
test ecx, ecx
je 0x46eaed
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xe4
mov ecx, dword [ebp - 0x518]
test ecx, ecx
je 0x46eb03
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1e5
mov eax, dword [ebp - 0x20c]
test eax, eax
je 0x46eb1c
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
test bl, bl
je 0x46ec33
mov dword [ebp - 0x210], 0
lea ecx, [ebp - 0x210]
mov eax, dword [edi]
push ecx
push edi
mov eax, dword [eax + 0x54]
call eax
test eax, eax
jns 0x46eb54
push 0x5099fc
push edi
push eax
call fcn.004e2c00
mov eax, dword [ebp - 0x210]
or dword [ebp - 0x14], 0x80000
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x3a8]
mov dword [ebp - 4], 0x1e7
push eax
lea ecx, [ebp - 0x20]
call fcn.004bb510
mov ebx, eax
mov byte [ebp - 4], 0xe8
mov esi, dword [ebp - 0x218]
test esi, esi
je 0x46ee9e
mov dword [ebp - 0x214], 0
lea ecx, [ebp - 0x214]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x48]
call eax
test eax, eax
jns 0x46ebba
push 0x509a0c
push esi
push eax
call fcn.004e2c00
movss xmm0, dword [ebp - 0x214]
mov ecx, ebx
push str.rowheight
movss dword [ebp - 0x40], xmm0
call fcn.004b8fd0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x40]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x74], xmm0
mov byte [ebp - 4], 0xe9
mov ecx, dword [ebp - 0x3a4]
test ecx, ecx
je 0x46ebfd
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov byte [ebp - 4], 0xea
mov ecx, dword [ebp - 0x3a8]
test ecx, ecx
je 0x46ec13
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1eb
mov eax, dword [ebp - 0x218]
test eax, eax
je 0x46ec2c
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
inc dword [ebp + 8]
mov esi, dword [ebp + 0x18]
jmp 0x46e830
mov dword [ebp - 0x21c], 0
lea ecx, [ebp - 0x21c]
mov eax, dword [esi]
push ecx
push esi
mov eax, dword [eax + 0x28]
call eax
test eax, eax
jns 0x46ec67
push 0x5098fc
push esi
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x21c]
or dword [ebp - 0x14], 0x20000
mov dword [ebp - 0x374], ebx
mov dword [ebp - 4], 0x1ed
test ebx, ebx
je 0x46ee9e
mov dword [ebp - 0x220], 0
lea ecx, [ebp - 0x220]
mov eax, dword [ebx]
push ecx
push dword [ebp + 0x20]
mov eax, dword [eax + 0x30]
push ebx
call eax
test eax, eax
jns 0x46ecb5
push 0x5098ec
push ebx
push eax
call fcn.004e2c00
mov ebx, dword [ebp - 0x220]
or dword [ebp - 0x14], 0x40000
mov dword [ebp - 0x370], ebx
mov byte [ebp - 4], 0xef
test ebx, ebx
je 0x46ee9e
movsd xmm0, qword [ebp - 0x74]
mov eax, dword [ebx]
cvtpd2ps xmm0, xmm0
push ecx
mov eax, dword [eax + 0x34]
movss dword [esp], xmm0
push ebx
call eax
test eax, eax
jns 0x46ecfb
push 0x50990c
push ebx
push eax
call fcn.004e2c00
mov byte [ebp - 4], 0xf0
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x46ed11
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x1f1
mov eax, dword [ebp - 0x374]
test eax, eax
je 0x46ed2a
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0xc6
inc dword [ebp + 0x20]
jmp 0x46e770
mov edi, dword [ebp + 0x10]
mov dword [ebp - 4], 0x1f2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x46ed52
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1f3
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x46ed68
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1f4
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x46ed7e
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1f5
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x46ed94
mov eax, dword [ecx]
push ecx
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1f6
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x46edaa
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x1f7
test edi, edi
je 0x46edbd
mov eax, dword [edi]
push edi
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x1f8
test esi, esi
je 0x46edd0
mov eax, dword [esi]
push esi
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 4], 0x2c
or eax, 0xffffffff
mov edx, dword [ebp - 0x5c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x46edf4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 4], 0x1f9
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
call eax
mov dword [ebp - 4], 0x1fa
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x46ee21
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
xor eax, eax
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0xfc
test eax, eax
je 0x46ee31
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x534]
push eax
call esi
lea eax, [ebp - 0x544]
push eax
call esi
jmp 0x46a88f
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
push 0x80004003
call fcn.004e2be0
push edi
call fcn.004e2be0
push edi
call fcn.004e2be0
push edi
call fcn.004e2be0
push edi
call fcn.004e2be0
call fcn.00401d50
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
push 0x8007000e
call fcn.004e2be0
int3