Function at 0x4e55a8
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push esi
push edi
push 0x7e70
push 8
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push eax
call edi
mov edx, eax
mov dword [0x58ac5c], eax
mov ecx, 0x7e70
call fcn.0055d86a
mov esi, dword [ebp + 8]
test esi, esi
je 0x4e5638
mov eax, dword [esi + 4]
test eax, eax
jne 0x4e55f2
xor ebx, ebx
jmp 0x4e55fc
push eax
push 8
call ebx
push eax
call edi
mov ebx, eax
push ebx
lea ecx, [esi + 8]
call fcn.004d397c
mov eax, dword [ebx]
add esp, 4
mov dword [esp + 0x34], eax
mov edi, 4
test eax, eax
jle 0x4e5638
nop
mov esi, dword [edi + ebx + 8]
lea edx, [edi + 4]
mov ecx, dword [edi + ebx]
add edx, ebx
mov eax, dword [0x58ac5c]
add edi, 4
add edi, esi
sub dword [esp + 0x34], 1
mov dword [eax + ecx*4], edx
jne 0x4e5618
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 0x4e568f
push str.SetProcessDpiAwareness
push edi
call esi
push str.GetDpiForMonitor
push edi
mov dword [0x58abf0], eax
call esi
push str.GetProcessDpiAwareness
push edi
call esi
mov ecx, dword [0x58abfc]
test ecx, ecx
je 0x4e5699
cmp dword [0x58abf8], 0
jne 0x4e5699
mov eax, dword [0x58abf0]
test eax, eax
je 0x4e5699
push ecx
call eax
jmp 0x4e5699
mov dword [0x58abf0], 0
fld qword [0x589c70]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x4e56af
call fcn.004d3b35
push str.user32
call ebx
mov edi, eax
test edi, edi
je 0x4e56ed
push str.IsProcessDPIAware
push edi
call esi
push str.AdjustWindowRectExForDpi
push edi
call esi
push str.MonitorFromWindow
push edi
mov dword [0x56c720], eax
call esi
push str.GetMonitorInfoW
push edi
mov dword [0x56c718], eax
call esi
mov dword [0x56c710], eax
jmp 0x4e570b
mov dword [0x56c720], 0
mov dword [0x56c718], 0
mov dword [0x56c710], 0
mov eax, dword [0x58ac28]
test eax, eax
jne 0x4e571e
call fcn.0055fcf7
mov eax, dword [0x58ac28]
mov ebx, dword [sym.imp.USER32.dll_RegisterClassW]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x40], 0x4e31b8
mov dword [esp + 0x60], str.tbForm
mov dword [esp + 0x3c], 8
call ebx
mov esi, dword [sym.imp.USER32.dll_LoadCursorW]
push 0x7f00
push 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x6c], 0x4d6791
mov dword [esp + 0x8c], str.ThunderFormDC
call esi
mov dword [esp + 0x78], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], 0x28
call ebx
push 0x7f00
push 0
mov word [0x58ac0c], ax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x18], 0x4d6791
mov dword [esp + 0x38], str.ThunderForm
call esi
mov dword [esp + 0x24], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x10], 8
call ebx
push 0x7f00
push 0
mov word [0x58ac08], ax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x18], 0x4d6791
mov dword [esp + 0x38], str.ThunderUserControlDC
call esi
mov dword [esp + 0x24], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x10], 0x28
call ebx
push 0x7f00
push 0
mov word [0x58ac20], ax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x18], 0x4d6791
mov dword [esp + 0x38], str.ThunderUserControl
call esi
mov dword [esp + 0x24], eax
mov dword [esp + 0xc], 8
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
call ebx
mov edi, dword [sym.imp.USER32.dll_GetClassInfoW]
mov word [0x58ac1c], ax
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.BUTTON
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c708], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderCommandButton
mov dword [esp + 0x14], 0x4d5862
mov dword [esp + 0x10], 3
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.BUTTON
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c704], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderCheckBox
mov dword [esp + 0x14], 0x4d575f
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.BUTTON
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c700], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x30], str.ThunderFrame
mov dword [esp + 0x10], 0x4d545f
mov dword [esp + 0xc], 0xb
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.BUTTON
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6fc], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderOptionButton
mov dword [esp + 0x14], 0x4d524c
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.SCROLLBAR
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6f8], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderHSrollBar
mov dword [esp + 0x10], 0xb
mov dword [esp + 0x14], 0x4d5149
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.SCROLLBAR
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6f4], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x30], str.ThunderVSrollBar
mov dword [esp + 0xc], 0xb
mov dword [esp + 0x10], 0x4d5046
push eax
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.LISTBOX
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6f0], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderListBox
mov dword [esp + 0x14], 0x4d4f43
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.COMBOBOX
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6ec], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x14], 0x4d4e40
mov dword [esp + 0x34], str.ThunderComboBox
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.EDIT
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6e8], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderTextBox
mov dword [esp + 0x14], 0x4d4ca8
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6e4], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderLabel
mov dword [esp + 0x14], 0x4d4ba5
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6e0], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderImage
mov dword [esp + 0x14], 0x4d4a47
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x58ac28]
mov esi, dword [sym.imp.USER32.dll_DefWindowProcW]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderPictureBox
mov dword [0x56c6dc], esi
mov dword [esp + 0x14], 0x4d46e4
mov dword [esp + 0x10], 8
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderPictureBoxDC
mov dword [0x56c6dc], esi
mov dword [esp + 0x14], 0x4d46e4
mov dword [esp + 0x10], 0x28
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderGenericControl
mov dword [esp + 0x14], 0x4d44bd
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.STATIC
push 0
call edi
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderWebViewControl
mov dword [esp + 0x14], 0x4d4270
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.SysTreeView32
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6d8], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderTreeView
mov dword [esp + 0x14], 0x4d416d
mov dword [esp + 0x10], 0xb
call ebx
xor eax, eax
mov dword [esp + 0xc], 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
lea eax, [esp + 0xc]
push eax
push str.SysListView32
push 0
call edi
mov eax, dword [esp + 0x10]
mov dword [0x56c6d4], eax
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x34], str.ThunderListView
mov dword [esp + 0x14], 0x4d406a
mov dword [esp + 0x10], 0xb
call ebx
mov eax, dword [0x58ac28]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc]
push eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], str.VBBubbleRT6
mov dword [esp + 0x14], 0x4d3d5c
mov dword [esp + 0x10], 0x800
mov dword [esp + 0x2c], 0x19
call ebx
mov eax, dword [0x58ac28]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x88]
push eax
mov dword [esp + 0x8c], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x90], 0x4d3cd2
mov dword [esp + 0xb0], str.ThunderMain
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push 0x4c
push 8
call edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, dword [sym.imp.USER32.dll_LoadCursorW]
mov esi, eax
push 0x7f00
push 0
call ebx
push 0x7f00
mov dword [esi], eax
push 0
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
push 8
mov dword [esi + 0x48], eax
mov dword [0x58ac2c], esi
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_HeapAlloc]
push eax
call ebx
mov esi, eax
test esi, esi
je 0x4e6214
push 0xc00
push 8
call edi
push eax
call ebx
mov edx, eax
mov dword [esi], eax
mov ecx, 0xc00
call fcn.0055d86a
mov dword [0x56c70c], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
pop edi
pop esi
mov dword [0x56c70c], 0
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4