Function at 0x10061cb
Capabilities:
Get thread local storage value
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x1018144]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x244], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
push edi
movzx edi, word [esi + 0x2e]
mov dword [ebp - 0x220], eax
movzx eax, word [esi + 0x30]
add eax, esi
add edi, esi
cmp word [esi + 0x28], 0x40
mov dword [ebp - 0x210], ebx
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x258], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x20c], ebx
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x254], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x214], eax
jne 0x1006270
cmp dword [esi + 0x3c], ebx
jne 0x1006285
mov dword [0x101a50c], 0x10
mov dword [ebp - 0x208], ebx
jmp 0x1006350
lea eax, [esi + 0x40]
mov dword [ebp - 0x240], eax
movzx eax, word [esi + 0x2a]
add eax, esi
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x25c]
push eax
push dword [esi + 0x34]
call fcn.0100bc47
cmp eax, ebx
mov dword [ebp - 0x208], eax
je 0x10062fb
lea eax, [ebp - 0x21c]
push eax
push esi
call fcn.01004fe3
push eax
push esi
call fcn.01004fb6
push eax
push esi
call fcn.01005010
movzx eax, ax
push eax
push esi
call fcn.01004f33
push eax
push dword [ebp - 0x258]
push dword [ebp - 0x25c]
call fcn.0100d97f
cmp eax, ebx
mov dword [ebp - 0x208], eax
jne 0x1006307
mov dword [0x101a50c], 0x10
jmp 0x1006350
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x220]
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x214]
push edi
push dword [ebp + 0x18]
call fcn.01005cba
cmp dword [ebp - 0x20c], ebx
mov dword [ebp - 0x208], eax
je 0x1006350
mov dword [ebp - 0x248], 1
push dword [0x1018058]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
cmp dword [ebp - 0x208], ebx
mov dword [ebp - 0x228], eax
je 0x1006a06
mov eax, dword [ebp - 0x244]
cmp eax, ebx
mov dword [ebp - 0x23c], eax
jne 0x100638e
push 0xaea
push dword [0x1018018]
call fcn.0100b36f
lea eax, [ebp - 0x264]
push eax
lea eax, [ebp - 0x230]
push eax
push ebx
push ebx
push eax
mov eax, dword [ebp - 0x20c]
push 5
mov dword [ebp - 0x230], ebx
push dword [eax + 4]
call fcn.01013a5c
cmp eax, 2
je 0x10063c9
mov dword [0x101a50c], 6
jmp 0x1006a06
push dword [ebp - 0x230]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
cmp eax, ebx
mov edi, dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 0x234], eax
je 0x1006411
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x230]
push ecx
push ebx
push dword [ebp - 0x230]
push eax
mov eax, dword [ebp - 0x20c]
push 5
push dword [eax + 4]
call fcn.01013a5c
cmp eax, ebx
je 0x1006429
push dword [ebp - 0x234]
mov dword [0x101a50c], 6
call edi
mov dword [ebp - 0x208], ebx
cmp dword [ebp - 0x208], ebx
je 0x1006a06
push dword [ebp - 0x21c]
call fcn.01008abe
lea eax, [ebp - 0x24c]
push eax
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x224]
push eax
push dword [ebp - 0x234]
mov eax, dword [ebp - 0x20c]
push dword [eax + 4]
call fcn.0100a965
mov dword [ebp - 0x208], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x260], eax
call fcn.01008ae5
cmp dword [ebp - 0x208], ebx
jne 0x10064cd
push ebx
push dword [ebp - 0x260]
push 0x10013ec
call fcn.0100b193
pop ecx
pop ecx
push eax
push dword [ebp - 0x224]
push 0x1001434
call fcn.0100b193
pop ecx
pop ecx
push eax
push 0x21
call fcn.0100b0dd
add esp, 0x10
push dword [ebp - 0x234]
mov dword [0x101a50c], 6
call edi
jmp 0x100652f
push dword [ebp - 0x234]
call edi
mov eax, dword [ebp - 0x214]
cmp eax, ebx
mov dword [ebp - 0x238], 1
jle 0x1006510
cmp eax, 2
jle 0x10064fb
cmp eax, 4
jne 0x1006510
test byte [ebp - 0x224], al
jmp 0x1006502
test byte [ebp - 0x224], 8
jne 0x100652f
mov dword [0x101a50c], 6
jmp 0x1006529
push ebx
push eax
push 0x1001434
call fcn.0100b193
pop ecx
pop ecx
push eax
push 0x22
call fcn.0100b027
add esp, 0xc
mov dword [ebp - 0x208], ebx
cmp dword [ebp - 0x208], ebx
je 0x10069ce
mov edi, dword [ebp - 0x228]
push ebx
push dword [0x101a038]
push ebx
push dword [edi + 0xc]
push ebx
push ebx
push ebx
push ebx
push 0x40000000
call fcn.0100b223
push eax
push str.NetDDEIntf
push ebx
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp eax, ebx
mov dword [ebp - 0x210], eax
je 0x100665c
push eax
push dword [ebp - 0x218]
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x204]
push eax
push dword [ebp - 0x240]
call fcn.01004d50
mov edi, eax
cmp edi, ebx
mov dword [ebp - 0x22c], edi
je 0x1006654
cmp dword [esi + 0x38], 3
je 0x10065af
or byte [edi + 1], 2
mov eax, dword [ebp - 0x238]
mov dword [edi + 0xd0], eax
mov eax, dword [ebp - 0x24c]
mov dword [edi + 0xd4], eax
lea eax, [edi + 0xb4]
push eax
push esi
call fcn.01004f60
test eax, eax
jne 0x10065f2
lea eax, [edi + 0xb4]
mov dword [eax], 0xc
mov dword [eax + 4], 2
mov byte [eax + 8], bl
mov byte [eax + 9], 1
push ebx
lea eax, [edi + 0xb4]
push eax
push dword [ebp - 0x210]
call sub.USER32.dll_DdeSetQualityOfService
or dword [edi], 2
cmp dword [ebp - 0x214], 4
mov word [edi + 0x32], 1
jne 0x1006620
mov eax, dword [ebp - 0x20c]
mov dword [eax + 0x28], ebx
push dword [ebp - 0x224]
push dword [ebp - 0x20c]
push dword [ebp - 0x244]
call fcn.0100b98f
mov eax, dword [ebp - 0x244]
mov dword [edi + 0x2c], eax
mov edi, dword [ebp - 0x228]
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x238], ebx
jmp 0x1006683
mov edi, dword [ebp - 0x228]
jmp 0x1006673
push ebx
push dword [ebp - 0x240]
push dword [ebp - 0x218]
push 0x23
call fcn.0100b027
add esp, 0x10
mov dword [ebp - 0x208], ebx
mov dword [0x101a50c], 5
cmp dword [ebp - 0x208], ebx
je 0x10069a7
mov eax, dword [ebp - 0x20c]
cmp dword [eax + 0x18], ebx
je 0x10066b7
cmp dword [eax + 0x14], ebx
jne 0x10066b7
cmp dword [edi + 0x10], ebx
je 0x10066b7
mov ecx, dword [ebp - 0x220]
cmp byte [ecx], bl
je 0x10066b7
mov dword [ebp + 0x10], 1
jmp 0x10066c4
mov dword [0x101a50c], 7
mov dword [ebp + 0x10], ebx
cmp dword [eax + 0x14], ebx
jne 0x1006710
cmp dword [edi + 0x10], ebx
je 0x1006700
or dword [0x101a4e0], 0xffffffff
push eax
push dword [edi + 0xc]
call fcn.01004c3c
xor eax, eax
inc eax
cmp dword [0x101a4e0], eax
jne 0x10066f1
mov dword [ebp - 0x208], eax
jmp 0x100671c
mov dword [0x101a50c], 0x16
jmp 0x10069a7
mov dword [ebp - 0x208], ebx
mov dword [0x101a50c], 0x14
cmp dword [ebp - 0x208], ebx
je 0x10069a7
mov edi, 0x101a380
cmp dword [ebp - 0x254], ebx
jne 0x100693f
lea eax, [ebp - 0x204]
push eax
call fcn.01004ab5
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x104]
push eax
call fcn.01004ab5
cmp word [ebp - 0x218], bx
mov dword [ebp - 0x214], eax
je 0x100675f
cmp ax, bx
jne 0x1006778
push ebx
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x204]
push eax
push 0x24
call fcn.0100b0dd
add esp, 0x10
movzx eax, word [esi + 0x28]
push 0x11
add eax, esi
push eax
push 0x101a240
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
movzx eax, word [esi + 0x2a]
push 0x100
add eax, esi
push eax
push 0x101a260
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [0x1018058]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
mov dword [eax + 0x1c], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0x21c]
call fcn.01008abe
movzx ecx, word [ebp - 0x218]
lea eax, [ebp - 0x268]
push eax
movzx eax, word [ebp - 0x214]
push 0x3a98
push ebx
shl eax, 0x10
or eax, ecx
push eax
push dword [ebp - 0x210]
push 0x3e0
push 0xffff
call dword [sym.imp.USER32.dll_SendMessageTimeoutA]
call fcn.01008ae5
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [0x1018058]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
mov dword [ebp - 0x228], eax
mov dword [eax + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [ebp - 0x218]
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
push dword [ebp - 0x214]
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
mov eax, dword [ebp - 0x22c]
cmp dword [eax + 0x10], ebx
je 0x1006874
push dword [ebp - 0x210]
mov dword [ebp - 0x254], 1
call fcn.0100588f
mov eax, dword [ebp - 0x22c]
inc dword [eax + 0x40]
jmp 0x1006903
cmp dword [ebp + 0x10], ebx
je 0x10068df
cmp dword [ebp - 0x250], ebx
jne 0x10068e7
mov eax, dword [ebp - 0x228]
cmp dword [eax + 0x10], ebx
je 0x10068d3
push dword [ebp - 0x20c]
or dword [0x101a4e0], 0xffffffff
push dword [ebp - 0x220]
mov dword [ebp - 0x250], 1
push dword [eax + 0xc]
call fcn.01004b4a
mov eax, dword [0x101a4e0]
cmp eax, 0x20
jb 0x1006914
cmp eax, 0xffffffff
jne 0x1006903
push ebx
push dword [ebp - 0x220]
push 0x26
call fcn.0100b027
add esp, 0xc
jmp 0x1006903
mov dword [0x101a50c], 0x14
jmp 0x10068fd
cmp dword [ebp - 0x250], ebx
je 0x10068f3
mov dword [0x101a50c], 9
jmp 0x10068fd
mov dword [0x101a50c], 7
mov dword [ebp - 0x208], ebx
cmp dword [ebp - 0x208], ebx
jne 0x1006721
jmp 0x10069a7
push ebx
push eax
push 0x10013ec
call fcn.0100b193
pop ecx
pop ecx
push eax
push dword [ebp - 0x220]
push 0x25
call fcn.0100b027
add esp, 0x10
mov dword [0x101a50c], 8
jmp 0x10069a7
cmp dword [ebp - 0x208], ebx
je 0x10069a7
push dword [0x101a50c]
movzx eax, word [esi + 0x30]
push 1
push ebx
push ebx
push ebx
add eax, esi
push eax
movzx eax, word [esi + 0x2e]
add eax, esi
push eax
push 0x101a3c0
call fcn.0100cdfe
cmp eax, ebx
je 0x100698f
mov ecx, dword [ebp - 0x22c]
inc dword [ecx + 0x3c]
push eax
push dword [ebp - 0x210]
mov dword [eax + 0x30], 3
push dword [ecx + 0x2c]
call fcn.0100c121
jmp 0x100699f
mov dword [0x101a50c], 5
mov dword [ebp - 0x208], ebx
cmp dword [ebp - 0x208], ebx
jne 0x10069ce
cmp dword [ebp - 0x210], ebx
je 0x10069ce
mov eax, dword [ebp - 0x22c]
cmp eax, ebx
je 0x10069bc
mov dword [eax + 0x2c], ebx
push dword [ebp - 0x210]
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [ebp - 0x210], ebx
cmp dword [ebp - 0x238], ebx
je 0x1006a06
cmp dword [ebp - 0x23c], ebx
jne 0x10069ee
push 0xc32
push dword [0x1018018]
call fcn.0100b36f
push dword [ebp - 0x24c]
lea eax, [ebp - 0x23c]
push eax
push 0x10014c4
call dword [sym.imp.ADVAPI32.dll_ObjectCloseAuditAlarmA]
cmp dword [ebp - 0x21c], ebx
je 0x1006a20
push dword [ebp - 0x21c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x21c], ebx
cmp dword [ebp - 0x248], ebx
je 0x1006a57
push 0x10014ac
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push dword [ebp - 0x20c]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 0x20c]
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x210]
pop edi
pop esi
pop ebx
call fcn.0100abd2
leave
ret 0x14