Function at 0x46c459
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 [0x4a01c8]
call ebx
mov edx, eax
mov dword [0x4a01b8], eax
mov ecx, 0x7e70
call fcn.004961ff
mov esi, dword [ebp + 8]
test esi, esi
je 0x46c4e9
mov eax, dword [esi + 4]
test eax, eax
jne 0x46c49d
xor ebx, ebx
jmp 0x46c4aa
push eax
push 8
push dword [0x4a01c8]
call ebx
mov ebx, eax
push ebx
lea ecx, [esi + 8]
call fcn.004667a3
mov eax, dword [ebx]
add esp, 4
mov dword [esp + 0xc], eax
mov edi, 4
test eax, eax
jle 0x46c4e9
lea esp, [esp]
mov esi, dword [edi + ebx + 8]
lea edx, [edi + 4]
mov ecx, dword [edi + ebx]
add edx, ebx
mov eax, dword [0x4a01b8]
add edi, 4
add edi, esi
sub dword [esp + 0xc], 1
mov dword [eax + ecx*4], edx
jne 0x46c4c9
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 0x46c540
push str.SetProcessDpiAwareness
push edi
call esi
push str.GetDpiForMonitor
push edi
mov dword [0x4a0148], eax
call esi
push str.GetProcessDpiAwareness
push edi
call esi
mov ecx, dword [0x4a0154]
test ecx, ecx
je 0x46c54a
cmp dword [0x4a0150], 0
jne 0x46c54a
mov eax, dword [0x4a0148]
test eax, eax
je 0x46c54a
push ecx
call eax
jmp 0x46c54a
mov dword [0x4a0148], 0
fld qword [0x49f184]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x46c560
call fcn.0046695c
push str.user32
call ebx
mov edi, eax
test edi, edi
je 0x46c59e
push str.IsProcessDPIAware
push edi
call esi
push str.AdjustWindowRectExForDpi
push edi
call esi
push str.MonitorFromWindow
push edi
mov dword [0x49f17c], eax
call esi
push str.GetMonitorInfoW
push edi
mov dword [0x49f174], eax
call esi
mov dword [0x49f16c], eax
jmp 0x46c5bc
mov dword [0x49f17c], 0
mov dword [0x49f174], 0
mov dword [0x49f16c], 0
cmp dword [0x4a0184], 0
jne 0x46c5ca
call fcn.00498819
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], 0x46984d
mov dword [esp + 0x64], str.ThunderFormDC
call esi
mov ebx, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [esp + 0x50], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], 0x28
call ebx
push 0x7f00
push 0
mov word [0x4a0168], 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], 0x46984d
mov dword [esp + 0x3c], str.ThunderForm
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
call ebx
push 0x7f00
push 0
mov word [0x4a0164], 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], 0x46984d
mov dword [esp + 0x3c], str.ThunderUserControlDC
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0x28
call ebx
push 0x7f00
push 0
mov word [0x4a017c], 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], 0x46984d
mov dword [esp + 0x3c], str.ThunderUserControl
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
call ebx
mov word [0x4a0178], 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 edi, dword [sym.imp.USER32.dll_GetClassInfoW]
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 [0x49f168], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderCommandButton
mov dword [esp + 0x18], 0x468a2a
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 [0x49f164], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderCheckBox
mov dword [esp + 0x18], 0x468927
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 eax, dword [esp + 0x14]
mov dword [0x49f160], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderFrame
mov dword [esp + 0x18], 0x468457
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 eax, dword [esp + 0x14]
mov dword [0x49f15c], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderOptionButton
mov dword [esp + 0x18], 0x468244
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 [0x49f158], eax
mov eax, dword [0x4a0184]
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], 0x468141
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 [0x49f154], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderVSrollBar
mov dword [esp + 0x14], 0xb
mov dword [esp + 0x18], 0x46803e
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 [0x49f150], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderListBox
mov dword [esp + 0x18], 0x467f3b
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 [0x49f14c], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x18], 0x467e38
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 [0x49f148], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderTextBox
mov dword [esp + 0x18], 0x467ca0
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 [0x49f144], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderLabel
mov dword [esp + 0x18], 0x467b9d
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 [0x49f140], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderImage
mov dword [esp + 0x18], 0x467a3c
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 [0x4a0184]
mov esi, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderPictureBox
mov dword [0x49f13c], esi
mov dword [esp + 0x18], 0x4674e5
mov dword [esp + 0x14], 8
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 dword [esp + 0x34], str.ThunderPictureBoxDC
mov dword [0x49f13c], esi
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x18], 0x4674e5
mov dword [esp + 0x14], 0x28
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 [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderGenericControl
mov dword [esp + 0x18], 0x4672c2
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 [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderWebViewControl
mov dword [esp + 0x18], 0x467075
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 [0x49f138], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderTreeView
mov dword [esp + 0x18], 0x466f72
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 [str._X_c], eax
mov eax, dword [0x4a0184]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderListView
mov dword [esp + 0x18], 0x466e6f
mov dword [esp + 0x14], 0xb
call ebx
mov eax, dword [0x4a0184]
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], 0x466b61
mov dword [esp + 0x14], 0x800
mov dword [esp + 0x30], 0x19
call ebx
mov eax, dword [0x4a0184]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x68], 0x466af9
mov dword [esp + 0x88], str.ThunderMain
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x4c
push 8
push dword [0x4a01c8]
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
mov dword [esi + 0x10], eax
push 0x7f80
push 0
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
push 8
mov dword [esi + 0x48], eax
push dword [0x4a01c8]
mov dword [0x4a0188], esi
call edi
mov esi, eax
test esi, esi
je 0x46d04b
push 0xc00
push 8
push dword [0x4a01c8]
call edi
mov edx, eax
mov dword [esi], eax
mov ecx, 0xc00
call fcn.004961ff
mov dword [0x49f10c], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
mov dword [0x49f10c], 0
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4