Function at 0x49f0ee
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 [0x4cefc8]
call ebx
mov edx, eax
mov dword [0x4cefac], eax
mov ecx, 0x7e70
call fcn.004c4e70
mov esi, dword [ebp + 8]
test esi, esi
je 0x49f17e
mov eax, dword [esi + 4]
test eax, eax
jne 0x49f132
xor ebx, ebx
jmp 0x49f13f
push eax
push 8
push dword [0x4cefc8]
call ebx
mov ebx, eax
push ebx
lea ecx, [esi + 8]
call fcn.00498f71
mov eax, dword [ebx]
add esp, 4
mov dword [esp + 0xc], eax
mov edi, 4
test eax, eax
jle 0x49f17e
lea esp, [esp]
mov esi, dword [edi + ebx + 8]
lea edx, [edi + 4]
mov ecx, dword [edi + ebx]
add edx, ebx
mov eax, dword [0x4cefac]
add edi, 4
add edi, esi
sub dword [esp + 0xc], 1
mov dword [eax + ecx*4], edx
jne 0x49f15e
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 0x49f1d5
push str.SetProcessDpiAwareness
push edi
call esi
push str.GetDpiForMonitor
push edi
mov dword [0x4cef3c], eax
call esi
push str.GetProcessDpiAwareness
push edi
call esi
mov ecx, dword [0x4cef48]
test ecx, ecx
je 0x49f1df
cmp dword [0x4cef44], 0
jne 0x49f1df
mov eax, dword [0x4cef3c]
test eax, eax
je 0x49f1df
push ecx
call eax
jmp 0x49f1df
mov dword [0x4cef3c], 0
fld qword [0x4cdc74]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x49f1f5
call fcn.0049912a
push str.user32
call ebx
mov edi, eax
test edi, edi
je 0x49f233
push str.IsProcessDPIAware
push edi
call esi
push str.AdjustWindowRectExForDpi
push edi
call esi
push str.MonitorFromWindow
push edi
mov dword [0x4cdc6c], eax
call esi
push str.GetMonitorInfoW
push edi
mov dword [0x4cdc64], eax
call esi
mov dword [0x4cdc5c], eax
jmp 0x49f251
mov dword [0x4cdc6c], 0
mov dword [0x4cdc64], 0
mov dword [0x4cdc5c], 0
cmp dword [0x4cef78], 0
jne 0x49f25f
call fcn.004c3905
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], 0x49c5e6
mov dword [esp + 0x64], str.ThunderFormDC
call esi
mov ebx, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [esp + 0x50], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], 0x28
call ebx
push 0x7f00
push 0
mov word [0x4cef5c], 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], 0x49c5e6
mov dword [esp + 0x3c], str.ThunderForm
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
call ebx
push 0x7f00
push 0
mov word [0x4cef58], 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], 0x49c5e6
mov dword [esp + 0x3c], str.ThunderUserControlDC
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 0x28
call ebx
push 0x7f00
push 0
mov word [0x4cef70], 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], 0x49c5e6
mov dword [esp + 0x3c], str.ThunderUserControl
call esi
mov dword [esp + 0x28], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], 8
call ebx
mov word [0x4cef6c], 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 [0x4cdc48], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderCommandButton
mov dword [esp + 0x18], 0x49b461
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 [0x4cdc44], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderCheckBox
mov dword [esp + 0x18], 0x49b336
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 [0x4cdc40], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderFrame
mov dword [esp + 0x18], 0x49ae2a
mov dword [esp + 0x14], 0xb
call ebx
mov word [0x4cdc4c], 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 [0x4cdc3c], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderOptionButton
mov dword [esp + 0x18], 0x49abeb
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 [0x4cdc38], eax
mov eax, dword [0x4cef78]
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], 0x49aac0
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 [0x4cdc34], eax
mov eax, dword [0x4cef78]
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], 0x49a995
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 [0x4cdc30], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderListBox
mov dword [esp + 0x18], 0x49a872
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 [0x4cdc2c], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x18], 0x49a747
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 [0x4cdc28], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderTextBox
mov dword [esp + 0x18], 0x49a57e
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 [0x4cdc24], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderLabel
mov dword [esp + 0x18], 0x49a453
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 [0x4cdc20], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderImage
mov dword [esp + 0x18], 0x49a2c0
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 [0x4cef78]
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 [0x4cdc1c], esi
mov dword [esp + 0x18], 0x499d5d
mov dword [esp + 0x14], 8
call ebx
mov word [0x4cdc54], 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 [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderPictureBoxDC
mov dword [0x4cdc1c], esi
mov dword [esp + 0x18], 0x499d5d
mov dword [esp + 0x14], 0x28
call ebx
mov word [0x4cdc50], 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 [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderGenericControl
mov dword [esp + 0x18], 0x499b3e
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 [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderWebViewControl
mov dword [esp + 0x18], 0x4998bc
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 [0x4cdc18], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x34], str.ThunderTreeView
mov dword [esp + 0x14], 0x499791
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.SysListView32
push 0
call edi
mov eax, dword [esp + 0x14]
mov dword [str._Xoo], eax
mov eax, dword [0x4cef78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x38], str.ThunderListView
mov dword [esp + 0x18], 0x499666
mov dword [esp + 0x14], 0xb
call ebx
mov eax, dword [0x4cef78]
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], 0x49932f
mov dword [esp + 0x14], 0x800
mov dword [esp + 0x30], 0x19
call ebx
mov eax, dword [0x4cef78]
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], 0x4992c7
mov dword [esp + 0x88], str.ThunderMain
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push 0x4c
push 8
push dword [0x4cefc8]
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
mov dword [esi + 0xc], eax
push 0x7f81
push 0
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
push 8
mov dword [esi + 0x48], eax
push dword [0x4cefc8]
mov dword [str.xnf], esi
call edi
mov esi, eax
test esi, esi
je 0x49fcf2
push 0xc00
push 8
push dword [0x4cefc8]
call edi
mov edx, eax
mov dword [esi], eax
mov ecx, 0xc00
call fcn.004c4e70
mov dword [0x4cdbec], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
mov dword [0x4cdbec], 0
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4