Function at 0x4d9c40
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56866e
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x5bf500]
xor eax, ebp
mov dword [ebp - 0x18], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 8]
push esi
push str.ASOInitialize_name_s
call fcn.004d8e40
add esp, 8
mov dword [ebp - 4], 0
sub esp, 8
lea ecx, [ebp - 0x178]
call fcn.004e1200
mov byte [ebp - 4], 1
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x180], 0xf
mov dword [ebp - 0x184], 0
mov byte [ebp - 0x194], 0
push 0x51
push str.INFO______:_4.1.47_:_ASOInitialize_..dll_asodll.cpp:303__:_ASOInitialize_START_r_n
lea ecx, [ebp - 0x194]
call fcn.004027f0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x180], 0x10
jb 0x4d9cf7
push dword [ebp - 0x194]
call fcn.00443e80
add esp, 4
mov dword [ebp - 0x180], 0xf
mov dword [ebp - 0x184], 0
mov byte [ebp - 0x194], 0
xor cl, cl
call fcn.004dc270
cmp byte [0x648253], 0
je 0x4d9db6
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
push 0x54
push str.ERROR_____:_4.1.47_:_ASOInitialize_..dll_asodll.cpp:311__:_ASOInitialize_error10_r_n
lea ecx, [ebp - 0x1c4]
call fcn.004027f0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1b0], 0x10
jb 0x4d9d82
push dword [ebp - 0x1c4]
call fcn.00443e80
add esp, 4
mov dword [ebp - 0x1b0], 0xf
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 0x1c4], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x178]
call fcn.004e12c0
mov eax, 0xa
jmp 0x4da1b2
push 0x58d0e4
push 0x104
push 0x648668
call fcn.00523667
add esp, 0xc
push 0x58d0e4
push 0x104
push 0x648460
call fcn.00523667
add esp, 0xc
mov ecx, 0x58d0e4
mov eax, esi
jmp 0x4d9df0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4d9e16
test dx, dx
je 0x4d9e12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4d9e16
add eax, 4
add ecx, 4
test dx, dx
jne 0x4d9df0
xor eax, eax
jmp 0x4d9e1b
sbb eax, eax
or eax, 1
test eax, eax
je 0x4da0ee
mov ecx, esi
lea edx, [ecx + 2]
jmp 0x4d9e30
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4d9e30
sub ecx, edx
sar ecx, 1
cmp ecx, 0x64
ja 0x4da0ee
push 0x12c
push 0
lea eax, [ebp - 0x14c]
push eax
call fcn.00525d00
add esp, 0xc
push esi
push 0x96
lea eax, [ebp - 0x14c]
push eax
call fcn.00523667
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea eax, [ebp - 0x14c]
push eax
push str._s_LPUNIQUE__d__d
push 0x96
push eax
call fcn.0051f5fe
lea eax, [ebp - 0x14c]
push eax
push 0x104
push 0x648668
call fcn.00523667
add esp, 0x24
call fcn.004e1390
test al, al
jne 0x4d9ef8
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x16c], esp
push str.ERROR_____:_4.1.47_:_ASOInitialize_..dll_asodll.cpp:341__:_ASOInitialize_error11_r_n
call fcn.004025d0
mov byte [ebp - 4], 8
mov byte [ebp - 4], 1
call fcn.004d8e60
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x178]
call fcn.004e12c0
mov eax, 0xc
jmp 0x4da1b2
mov eax, dword [0x6489b0]
cmp dword [eax + 0x680], 0x1f4
jl 0x4d9f47
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x16c], esp
push str.ERROR_____:_4.1.47_:_ASOInitialize_..dll_asodll.cpp:348__:_ASOInitialize_error12_r_n
call fcn.004025d0
mov byte [ebp - 4], 9
mov byte [ebp - 4], 1
call fcn.004d8e60
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x178]
call fcn.004e12c0
mov eax, 0xd
jmp 0x4da1b2
mov ecx, 0x58d0e4
add eax, 2
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4d9f76
test dx, dx
je 0x4d9f72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4d9f76
add eax, 4
add ecx, 4
test dx, dx
jne 0x4d9f50
xor eax, eax
jmp 0x4d9f7b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4d9fc5
lea ecx, [ebp - 0x164]
call fcn.004e0f90
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x164]
cmp dword [ebp - 0x150], 8
cmovae eax, dword [ebp - 0x164]
push eax
push 0x41
mov eax, dword [0x6489b0]
add eax, 2
push eax
call fcn.00523667
add esp, 0xc
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x164]
call fcn.004040c0
lea ecx, [ebp - 0x1d0]
call fcn.004e7480
lea esi, [ebp - 0x1d0]
xor ecx, ecx
test al, al
cmove esi, ecx
mov dword [ebp - 0x170], ecx
mov byte [ebp - 0x165], cl
lea ecx, [ebp - 0x165]
call fcn.004e7080
push 0
push 0
push 0
push 0x4dc7c0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x170], eax
call fcn.004e7060
cmp dword [ebp - 0x170], 0
jne 0x4da05a
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x16c], esp
push str.ERROR_____:_4.1.47_:_ASOInitialize_..dll_asodll.cpp:377__:_ASOInitialize_error14_r_n
call fcn.004025d0
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 1
call fcn.004d8e60
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x178]
call fcn.004e12c0
mov eax, 0xe
jmp 0x4da1b2
lea eax, [ebp - 0x170]
push eax
call fcn.004e13f0
mov dword [eax], 1
push 0x648668
push 0x64
mov ecx, dword [0x6489b0]
imul eax, dword [ecx + 0x680], 0x12c
add ecx, 0x684
add eax, ecx
push eax
call fcn.00523667
mov eax, dword [0x6489b0]
inc dword [eax + 0x680]
mov eax, dword [ebp + 0xc]
mov dword [0x64887c], eax
mov eax, dword [ebp + 0x10]
mov byte [0x648252], al
mov byte [0x648253], 1
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x16c], esp
push str.INFO______:_4.1.47_:_ASOInitialize_..dll_asodll.cpp:428__:_ASOInitialize_END_r_n
call fcn.004025d0
mov byte [ebp - 4], 0xc
mov byte [ebp - 4], 1
call fcn.004d8e60
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x178]
call fcn.004e12c0
xor eax, eax
jmp 0x4da1b2
mov dword [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
push 0x54
push str.ERROR_____:_4.1.47_:_ASOInitialize_..dll_asodll.cpp:322__:_ASOInitialize_error13_r_n
lea ecx, [ebp - 0x1ac]
call fcn.004027f0
mov byte [ebp - 4], 1
cmp dword [ebp - 0x198], 0x10
jb 0x4da14a
push dword [ebp - 0x1ac]
call fcn.00443e80
add esp, 4
mov dword [ebp - 0x198], 0xf
mov dword [ebp - 0x19c], 0
mov byte [ebp - 0x1ac], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x178]
call fcn.004e12c0
mov eax, 0xb
jmp 0x4da1b2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0051ece9
mov esp, ebp
pop ebp
ret