Function at 0x4a1398
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push esi
push edi
push 0x7e70
push 8
push dword [0x4e05c4]
call ebx
mov edx, eax
mov dword [0x4e05a4], eax
mov ecx, 0x7e70
call fcn.004d6677
mov esi, dword [ebp + 8]
test esi, esi
je 0x4a1428
mov eax, dword [esi + 4]
test eax, eax
jne 0x4a13dc
xor ebx, ebx
jmp 0x4a13e9
push eax
push 8
push dword [0x4e05c4]
call ebx
mov ebx, eax
push ebx
lea ecx, [esi + 8]
call fcn.0049aada
mov eax, dword [ebx]
add esp, 4
mov dword [esp + 0xc], eax
mov edi, 4
test eax, eax
jle 0x4a1428
lea esp, [esp]
mov esi, dword [edi + ebx + 8]
lea edx, [edi + 4]
mov ecx, dword [edi + ebx]
add edx, ebx
mov eax, dword [0x4e05a4]
add edi, 4
add edi, esi
sub dword [esp + 0xc], 1
mov dword [eax + ecx*4], edx
jne 0x4a1408
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.shcore
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x4a147f
push str.SetProcessDpiAwareness
push edi
call esi
push str.GetDpiForMonitor
push edi
mov dword [0x4e0508], eax
call esi
push str.GetProcessDpiAwareness
push edi
call esi
mov ecx, dword [0x4e0514]
test ecx, ecx
je 0x4a1489
cmp dword [0x4e0510], 0
jne 0x4a1489
mov eax, dword [0x4e0508]
test eax, eax
je 0x4a1489
push ecx
call eax
jmp 0x4a1489
mov dword [0x4e0508], 0
fld qword [0x4de724]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4a149f
call fcn.0049ac93
push str.user32
call ebx
mov edi, eax
test edi, edi
je 0x4a14dd
push str.IsProcessDPIAware
push edi
call esi
push str.AdjustWindowRectExForDpi
push edi
call esi
push str.MonitorFromWindow
push edi
mov dword [0x4de71c], eax
call esi
push str.GetMonitorInfoW
push edi
mov dword [0x4de714], eax
call esi
mov dword [0x4de70c], eax
jmp 0x4a14fb
mov dword [0x4de71c], 0
mov dword [0x4de714], 0
mov dword [0x4de70c], 0
cmp dword [0x4e054c], 0
jne 0x4a1509
call fcn.004d509f
mov esi, dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f00
push 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x44], 0x49e4b4
mov dword [esp + 0x64], str.ThunderFormDC
call esi
mov ebx, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [esp + 0x50], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], 0x28
call ebx
push 0x7f00
push 0
mov word [0x4de6f0], ax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], 0x49e4b4
mov dword [esp + 0x3c], str.ThunderForm
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
call ebx
push 0x7f00
push 0
mov word [0x4de6ec], ax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], 0x49e4b4
mov dword [esp + 0x3c], str.ThunderMDIForm
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
mov dword [esp + 0x30], 6
call ebx
push 0x7f00
push 0
mov word [0x4de6e8], ax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], 0x49e4b4
mov dword [esp + 0x3c], str.ThunderUserControlDC
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0x28
call ebx
mov word [0x4e0538], ax
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x14], 0x49e4b4
mov dword [esp + 0x34], str.ThunderUserControl
push 0x7f00
push 0
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
call ebx
mov edi, dword [sym.imp.USER32.dll_GetClassInfoW]
mov word [0x4e0534], ax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.BUTTON
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6e4], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderCommandButton
mov dword [esp + 0x18], 0x49cf2e
mov dword [esp + 0x14], 3
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.BUTTON
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6e0], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderCheckBox
mov dword [esp + 0x18], 0x49ce0f
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.BUTTON
push 0
call edi
mov dword [esp + 0x34], str.ThunderFrame
mov eax, dword [esp + 0x14]
mov dword [0x4de6dc], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x18], 0x49c913
mov dword [esp + 0x14], 0xb
call ebx
mov word [0x4de6f8], ax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.BUTTON
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6d8], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderOptionButton
mov dword [esp + 0x18], 0x49c6e0
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.SCROLLBAR
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6d4], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderHSrollBar
mov dword [esp + 0x14], 0xb
mov dword [esp + 0x18], 0x49c5c1
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.SCROLLBAR
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], str.ThunderVSrollBar
mov dword [esp + 0x10], 0xb
mov dword [0x4de6d0], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x18], 0x49c4a2
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.LISTBOX
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6cc], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderListBox
mov dword [esp + 0x18], 0x49c389
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.COMBOBOX
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6c8], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x18], 0x49c26a
mov dword [esp + 0x38], str.ThunderComboBox
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.EDIT
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6c4], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x34], str.ThunderTextBox
mov dword [esp + 0x14], 0x49c0c6
mov dword [esp + 0x10], 0xb
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6c0], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderLabel
mov dword [esp + 0x18], 0x49bfa7
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6bc], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderImage
mov dword [esp + 0x18], 0x49be24
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x4e054c]
mov esi, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x34], str.ThunderPictureBox
mov dword [0x4de6b8], esi
mov dword [esp + 0x14], 0x49b8c5
mov dword [esp + 0x10], 8
push eax
call ebx
mov word [0x4de700], ax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderPictureBoxDC
mov dword [0x4de6b8], esi
mov dword [esp + 0x18], 0x49b8c5
mov dword [esp + 0x14], 0x28
call ebx
mov word [0x4de6fc], ax
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderGenericControl
mov dword [esp + 0x18], 0x49b6ae
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderWebViewControl
mov dword [esp + 0x18], 0x49b438
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.SysTreeView32
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6b4], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderTreeView
mov dword [esp + 0x18], 0x49b319
mov dword [esp + 0x14], 0xb
call ebx
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea eax, [esp + 0x10]
push eax
push str.SysListView32
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [0x4de6b0], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderListView
mov dword [esp + 0x18], 0x49b1fa
mov dword [esp + 0x14], 0xb
call ebx
mov eax, dword [0x4e054c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], str.VBBubbleRT6
mov dword [esp + 0x18], 0x49ae98
mov dword [esp + 0x14], 0x800
mov dword [esp + 0x30], 0x19
call ebx
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x64], 0x49ae30
call fcn.004b373e
mov dword [esp + 0x84], eax
mov eax, dword [0x4e054c]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x60]
push eax
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x4c
push 8
push dword [0x4e05c4]
call edi
mov ebx, dword [sym.imp.USER32.dll_LoadCursorW]
mov esi, eax
push 0x7f00
push 0
call ebx
push 0x7f00
push 0
mov dword [esi], eax
call ebx
push 0x7f03
push 0
mov dword [esi + 4], eax
call ebx
push 0x7f01
push 0
mov dword [esi + 8], eax
call ebx
push 0x7f81
push 0
mov dword [esi + 0xc], eax
call ebx
push 0x7f80
push 0
mov dword [esi + 0x10], eax
call ebx
push 0x7f83
push 0
mov dword [esi + 0x14], eax
call ebx
push 0x7f85
push 0
mov dword [esi + 0x18], eax
call ebx
push 0x7f82
push 0
mov dword [esi + 0x1c], eax
call ebx
push 0x7f84
push 0
mov dword [esi + 0x20], eax
call ebx
push 0x7f04
push 0
mov dword [esi + 0x24], eax
call ebx
push 0x7f02
push 0
mov dword [esi + 0x28], eax
call ebx
push 0x7f88
push 0
mov dword [esi + 0x2c], eax
call ebx
push 0x7f8a
push 0
mov dword [esi + 0x30], eax
call ebx
push 0x7f8b
push 0
mov dword [esi + 0x34], eax
call ebx
push 0x7f86
push 0
mov dword [esi + 0x38], eax
call ebx
push 0x7f89
push 0
mov dword [esi + 0x3c], eax
call ebx
push 0x7f9f
push 0
mov dword [esi + 0x40], eax
call ebx
push 0x7fa0
push 0
mov dword [esi + 0x44], eax
call ebx
push 4
mov dword [esi + 0x48], eax
mov dword [0x4e0550], esi
push 8
push dword [0x4e05c4]
call edi
mov esi, eax
test esi, esi
je 0x4a1ffd
push 0xc00
push 8
push dword [0x4e05c4]
call edi
mov edx, eax
mov dword [esi], eax
mov ecx, 0xc00
call fcn.004d6677
mov dword [0x4de688], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
mov dword [0x4de688], 0
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4