Function at 0x405b40
Capabilities:
Hide graphical window

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x455448
push 0x44fb42
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
mov eax, 0x13b0
call fcn.0044faa0
mov eax, dword [0x462454]
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
call dword [sym.imp.SQLUNIRL.dll__GetUnicodeRedirectionLayer_0]
mov dword [0x462550], eax
push 0
mov eax, dword [0x462550]
call dword [eax + 0x224]
mov dword [0x463d04], eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
push 0x463ce0
push 0x463d00
mov ecx, dword [0x463d04]
push ecx
call dword [sym.imp.SQLRESLD.dll_SQLUILoadResourceDLL]
add esp, 0x10
test eax, eax
jne 0x405bc3
xor eax, eax
jmp 0x40650a
mov dword [ebp - 0x3a0], 0
mov ecx, 0x44
xor eax, eax
lea edi, [ebp - 0x39c]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x3a0], 0x114
lea edx, [ebp - 0x3a0]
push edx
call dword [sym.imp.SQLUNIRL.dll__GetVersionEx_4]
xor eax, eax
cmp dword [ebp - 0x390], 2
setne al
mov dword [0x464588], eax
mov dword [ebp - 4], 0
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 0
push 0
push 0
push 2
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
push 0x21c
push 0
lea ecx, [ebp - 0x240]
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
lea edx, [ebp - 0x240]
push edx
push 0x104
mov eax, dword [0x462550]
call dword [eax + 0x1c0]
push 1
push 0xa1c
push 0x462504
call dword [sym.imp.SQLSVC.dll_SHRecMemInit]
add esp, 0xc
push 0xa
push 4
push 0x4624e4
call dword [sym.imp.SQLSVC.dll_SHRecMemInit]
add esp, 0xc
push pe_nt_image_headers32
push 0x464328
push 0x3e8
mov ecx, dword [0x463d00]
push ecx
call dword [sym.imp.SQLUNIRL.dll__LoadString_16]
cmp dword [ebp + 0x10], 0
je 0x405cb8
push 0x3fc
mov edx, dword [ebp + 0x10]
push edx
push 0x464590
call dword [sym.imp.MSVCR71.dll_wcsncpy]
add esp, 0xc
mov word [0x464d88], 0
cmp dword [ebp + 0x10], 0
je 0x405e94
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x405e94
lea ecx, [ebp - 0x240]
push ecx
push 0x464528
push 0x462524
push 0x463f18
push 0x464120
push 0x463120
mov edx, dword [ebp + 0x10]
push edx
call fcn.0040dc10
add esp, 0x1c
mov dword [0x464530], eax
cmp dword [0x464530], 0
jne 0x405d7a
mov eax, dword [ebp + 0x10]
push eax
call dword [sym.imp.MSVCR71.dll_wcslen]
add esp, 4
test eax, eax
jbe 0x405d7a
mov ecx, dword [ebp + 0x10]
push ecx
push str._f__s
lea edx, [ebp - 0xba0]
push edx
mov eax, dword [0x462550]
call dword [eax + 0x4cc]
add esp, 0xc
lea ecx, [ebp - 0x240]
push ecx
push 0x464528
push 0x462524
push 0x463f18
push 0x464120
push 0x463120
lea edx, [ebp - 0xba0]
push edx
call fcn.0040dc10
add esp, 0x1c
mov dword [0x464530], eax
mov eax, dword [0x464528]
and eax, 0x10
jne 0x405df9
cmp dword [0x464530], 0
je 0x405df9
mov ecx, dword [0x464528]
and ecx, 1
je 0x405da3
mov edx, dword [0x464528]
and edx, 2
je 0x405df9
mov eax, dword [0x464528]
and eax, 1
jne 0x405db8
mov ecx, dword [0x464528]
and ecx, 2
jne 0x405df9
mov edx, dword [0x464528]
and edx, 0x40
je 0x405dcd
mov eax, dword [0x464528]
and eax, 1
jne 0x405df9
mov ecx, dword [0x464528]
and ecx, 0x80
jne 0x405de6
mov edx, dword [0x464528]
and edx, 1
jne 0x405df9
mov eax, dword [0x464528]
and eax, 0x40
je 0x405e4c
cmp dword [0x4653e0], 1
jge 0x405e4c
push 0x400
lea ecx, [ebp - 0x13a0]
push ecx
push 0x7b
mov edx, dword [0x463d00]
push edx
call dword [sym.imp.SQLUNIRL.dll__LoadString_16]
push 0x40
push 0x464328
lea eax, [ebp - 0x13a0]
push eax
push 0
call dword [sym.imp.SQLUNIRL.dll__MessageBox_16]
call dword [sym.imp.ole32.dll_OleUninitialize]
mov dword [ebp - 0x13ac], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x13ac]
jmp 0x40650a
cmp dword [0x464530], 0
je 0x405e94
mov ecx, dword [0x464528]
and ecx, 0x400
jne 0x405e7d
mov edx, dword [0x464528]
and edx, 0x800
jne 0x405e7d
mov eax, dword [0x464528]
and eax, 0x1000
je 0x405e94
push 0x4651b0
push 0x464da0
push 0x464fa8
call fcn.0041f690
add esp, 0xc
cmp dword [ebp + 0xc], 0
jne 0x40605b
call fcn.0040f030
test eax, eax
jne 0x405ec9
call dword [sym.imp.ole32.dll_OleUninitialize]
mov dword [ebp - 0x13b0], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x13b0]
jmp 0x40650a
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0x4065a0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov ecx, dword [0x463d04]
mov dword [ebp - 0x274], ecx
push 0x84
call dword [sym.imp.SQLUNIRL.dll__MAKEINTRESOURCE_4]
push eax
mov edx, dword [0x463d00]
push edx
call dword [sym.imp.SQLUNIRL.dll__LoadIcon_8]
mov dword [ebp - 0x270], eax
push 0x7f00
call dword [sym.imp.SQLUNIRL.dll__MAKEINTRESOURCE_4]
push eax
push 0
call dword [sym.imp.SQLUNIRL.dll__LoadCursor_8]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], 0xc
mov dword [ebp - 0x264], 0
mov eax, dword [0x464528]
and eax, 1
je 0x405f60
mov dword [ebp - 0x260], 0x4552b0
jmp 0x405f6a
mov dword [ebp - 0x260], 0x4552e4
lea ecx, [ebp - 0x284]
push ecx
mov edx, dword [0x462550]
call dword [edx + 0x3bc]
movzx eax, ax
test eax, eax
jne 0x405fa6
call dword [sym.imp.ole32.dll_OleUninitialize]
mov dword [ebp - 0x13b4], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x13b4]
jmp 0x40650a
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x280], 0x40cf40
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x278], 0
mov ecx, dword [0x463d04]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], 0
push 0x7f00
call dword [sym.imp.SQLUNIRL.dll__MAKEINTRESOURCE_4]
push eax
push 0
call dword [sym.imp.SQLUNIRL.dll__LoadCursor_8]
mov dword [ebp - 0x26c], eax
push 1
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], str.ISQLWMDICallbackWindowClass
lea edx, [ebp - 0x284]
push edx
mov eax, dword [0x462550]
call dword [eax + 0x3bc]
movzx ecx, ax
test ecx, ecx
jne 0x40605b
call dword [sym.imp.ole32.dll_OleUninitialize]
mov dword [ebp - 0x13b8], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x13b8]
jmp 0x40650a
push 0x67
call dword [sym.imp.SQLUNIRL.dll__MAKEINTRESOURCE_4]
push eax
mov edx, dword [0x463d00]
push edx
mov eax, dword [0x462550]
call dword [eax + 0x2b0]
mov dword [0x463d0c], eax
mov ecx, dword [0x463d0c]
mov dword [0x463d10], ecx
push 0xaa
call dword [sym.imp.SQLUNIRL.dll__MAKEINTRESOURCE_4]
push eax
mov edx, dword [0x463d00]
push edx
mov eax, dword [0x462550]
call dword [eax + 0x2b0]
mov dword [0x463d08], eax
push 0x64
call dword [sym.imp.SQLUNIRL.dll__MAKEINTRESOURCE_4]
push eax
mov ecx, dword [0x463d00]
push ecx
call dword [sym.imp.SQLUNIRL.dll__LoadMenu_8]
mov dword [0x464538], eax
mov dword [ebp - 0x13a4], 0
jmp 0x4060e0
mov edx, dword [ebp - 0x13a4]
add edx, 1
mov dword [ebp - 0x13a4], edx
cmp dword [ebp - 0x13a4], 5
jg 0x40610c
mov eax, dword [ebp - 0x13a4]
push eax
mov ecx, dword [0x464538]
push ecx
call dword [sym.imp.USER32.dll_GetSubMenu]
mov edx, dword [ebp - 0x13a4]
mov dword [edx*4 + 0x46453c], eax
jmp 0x4060d1
push 0
mov eax, dword [0x464548]
push eax
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x464554], eax
push 1
mov ecx, dword [0x464548]
push ecx
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [0x464558], eax
push 0
push 0x462528
call fcn.004298d0
add esp, 8
cmp dword [0x462530], 0xffffffff
jne 0x40616c
push 0
push 0x462538
push 0
push 0x30
mov edx, dword [0x462550]
call dword [edx + 0x484]
mov dword [0x462530], 0
push 0x464590
mov eax, dword [0x464528]
push eax
call fcn.0040fa00
add esp, 8
test eax, eax
jne 0x4061a5
call dword [sym.imp.ole32.dll_OleUninitialize]
mov dword [ebp - 0x13bc], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x13bc]
jmp 0x40650a
mov ecx, dword [0x464528]
and ecx, 1
je 0x4061bc
mov dword [ebp - 0x13c0], str.ISQLWWindowClassMinimized
jmp 0x4061c6
mov dword [ebp - 0x13c0], 0x455374
push 0
mov edx, dword [0x463d04]
push edx
mov eax, dword [0x464538]
push eax
push 0
mov ecx, dword [0x462544]
push ecx
mov edx, dword [0x462540]
push edx
mov eax, dword [0x46253c]
push eax
mov ecx, dword [0x462538]
push ecx
push 0xcf0000
push 0x464328
mov edx, dword [ebp - 0x13c0]
push edx
push 0
call dword [sym.imp.SQLUNIRL.dll__CreateWindowEx_48]
mov dword [0x463cf4], eax
cmp dword [0x463cf4], 0
jne 0x406240
call fcn.0040faa0
call dword [sym.imp.ole32.dll_OleUninitialize]
mov dword [ebp - 0x13c4], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x13c4]
jmp 0x40650a
push 0x464328
call dword [sym.imp.SQLSVC.dll_SetTaskName]
add esp, 4
call fcn.0040a350
call fcn.0040bc90
mov dword [0x463cec], 0
mov dword [0x463cf0], 0
mov eax, dword [0x464528]
and eax, 1
je 0x406287
push 0
mov ecx, dword [0x463cf4]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x4062b9
cmp dword [0x462530], 1
jne 0x40629c
mov dword [ebp - 0x13c8], 3
jmp 0x4062a5
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x13c8], edx
mov eax, dword [ebp - 0x13c8]
push eax
mov ecx, dword [0x463cf4]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x464560]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0
push 0
lea eax, [ebp - 0x25c]
push eax
mov ecx, dword [0x462550]
call dword [ecx + 0x21c]
test eax, eax
je 0x40648f
push 0x462558
push 0x462554
call fcn.0040ea80
add esp, 8
cmp dword [0x464560], 0
je 0x40631b
lea edx, [ebp - 0x25c]
push edx
mov eax, dword [0x464560]
push eax
call dword [sym.imp.USER32.dll_TranslateMDISysAccel]
test eax, eax
je 0x40631b
jmp 0x4062c6
cmp dword [0x464570], 0
je 0x406361
cmp dword [0x464578], 4
jne 0x406361
mov ecx, dword [0x464570]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x406361
lea edx, [ebp - 0x25c]
push edx
mov eax, dword [0x463d08]
push eax
mov ecx, dword [0x464570]
push ecx
call dword [sym.imp.SQLUNIRL.dll__TranslateAccelerator_12]
test eax, eax
je 0x406361
jmp 0x4062c6
lea edx, [ebp - 0x25c]
push edx
mov eax, dword [0x463d10]
push eax
mov ecx, dword [0x463cf4]
push ecx
call dword [sym.imp.SQLUNIRL.dll__TranslateAccelerator_12]
test eax, eax
je 0x406384
jmp 0x4062c6
cmp dword [0x463cec], 0
je 0x4063a9
lea edx, [ebp - 0x25c]
push edx
mov eax, dword [0x463cec]
push eax
call dword [sym.imp.SQLUNIRL.dll__IsDialogMessage_8]
test eax, eax
je 0x4063a9
jmp 0x4062c6
cmp dword [0x463cf0], 0
je 0x4063cf
lea ecx, [ebp - 0x25c]
push ecx
mov edx, dword [0x463cf0]
push edx
call dword [sym.imp.SQLUNIRL.dll__IsDialogMessage_8]
test eax, eax
je 0x4063cf
jmp 0x4062c6
cmp dword [0x464564], 0
je 0x406452
mov eax, dword [0x464564]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x406452
push 0xffffffffffffffeb
mov ecx, dword [0x464564]
push ecx
call dword [sym.imp.SQLUNIRL.dll__GetWindowLong_8]
mov dword [ebp - 0x13a8], eax
cmp dword [ebp - 0x13a8], 0
je 0x406436
mov edx, dword [ebp - 0x13a8]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x406436
lea eax, [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x13a8]
push ecx
call dword [sym.imp.SQLUNIRL.dll__IsDialogMessage_8]
test eax, eax
je 0x406434
jmp 0x4062c6
jmp 0x406452
lea edx, [ebp - 0x25c]
push edx
mov eax, dword [0x464564]
push eax
call dword [sym.imp.SQLUNIRL.dll__IsDialogMessage_8]
test eax, eax
je 0x406452
jmp 0x4062c6
lea ecx, [ebp - 0x25c]
push ecx
call fcn.0040add0
add esp, 4
test eax, eax
je 0x40646a
jmp 0x4062c6
lea edx, [ebp - 0x25c]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x25c]
push eax
mov ecx, dword [0x462550]
call dword [ecx + 0xf0]
jmp 0x4062c6
call fcn.0040a620
push 0x4624e4
call dword [sym.imp.SQLSVC.dll_SHRecMemFree]
add esp, 4
call dword [sym.imp.SQLGUI.dll_SQLGUIFreeMenuItems]
mov edx, dword [0x464538]
push edx
call dword [sym.imp.USER32.dll_IsMenu]
test eax, eax
je 0x4064c5
mov eax, dword [0x464538]
push eax
call dword [sym.imp.USER32.dll_DestroyMenu]
call fcn.0040faa0
call fcn.0040db30
call dword [sym.imp.ole32.dll_OleUninitialize]
push 0x463d00
mov ecx, dword [0x463d04]
push ecx
call dword [sym.imp.SQLRESLD.dll_SQLUIUnloadResourceDLL]
add esp, 8
mov dword [ebp - 4], 0xffffffff
jmp 0x406504
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.0044fa3b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10