Function at 0x430620
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x453548
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x46304c]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [esp + 0x34]
mov eax, ebx
neg eax
sbb eax, eax
xor ebp, ebp
cmp eax, ebp
jne 0x430667
push 0x57
call sub.Storm.dll_Ordinal_465
xor eax, eax
jmp 0x43084b
mov eax, dword [esp + 0x3c]
neg eax
sbb eax, eax
cmp eax, ebp
je 0x430659
push ebp
push 0xeea
push str..W32OsTcp.cpp
push 0x48
call sub.Storm.dll_Ordinal_401
cmp eax, ebp
je 0x4306aa
mov dword [eax], ebp
mov dword [eax + 4], ebp
mov dword [eax + 0x28], ebp
mov dword [eax + 0x2c], ebp
mov dword [eax + 0x30], ebp
mov dword [eax + 0x34], ebp
mov dword [eax + 0x38], ebp
mov dword [eax + 0x3c], ebp
mov dword [eax + 0x40], ebp
mov dword [eax + 0x44], ebp
mov esi, eax
jmp 0x4306ac
xor esi, esi
push ebp
push 0xeeb
push str..W32OsTcp.cpp
push ebx
call sub.Storm.dll_Ordinal_506
add eax, 1
push eax
call sub.Storm.dll_Ordinal_401
push bind
push ebx
push eax
mov dword [esi + 8], eax
call sub.Storm.dll_Ordinal_501
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
push ebp
push ebp
push ebp
push ebp
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], ebp
mov dword [esi + 0x24], ebp
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [esp + 0x1c], eax
mov ecx, dword [edi + 0x620]
mov ax, word [esp + 0x38]
push 0xffffffffffffffff
push ecx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], edi
mov word [esp + 0x28], ax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, edi
add dword [edi + 0x624], 1
mov eax, dword [edi + 0x630]
cmp eax, ebp
mov ecx, dword [edi + 0x624]
jle 0x430743
cmp dword [eax + 0x10], ecx
je 0x430720
mov eax, dword [eax + 4]
cmp eax, ebp
jg 0x430737
cmp ecx, ebp
je 0x430720
mov dword [esi + 0x10], ecx
mov dword [esp + 0x18], ecx
mov ecx, edi
call fcn.00425c80
lea edx, [esp + 0x38]
push edx
push ebp
lea eax, [esp + 0x1c]
push eax
push 0x42da60
push ebp
push ebp
call dword [sym.imp.MSVCR80.dll__beginthreadex]
add esp, 0x18
cmp eax, ebp
jne 0x4307b3
mov ecx, edi
call fcn.0042ff60
mov ecx, esi
call fcn.0042a950
push ebp
push 0xffffffffffffffff
push 0x456b10
push esi
call sub.Storm.dll_Ordinal_403
mov ecx, dword [edi + 0x620]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x4307ac
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x43084b
mov dword [esi + 0x14], eax
mov edx, dword [esi]
cmp edx, ebp
je 0x4307df
mov ecx, dword [esi + 4]
cmp ecx, ebp
jg 0x4307c9
not ecx
mov eax, ecx
jmp 0x4307d0
mov eax, esi
sub eax, dword [edx + 4]
add eax, ecx
mov dword [eax], edx
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov dword [esi], ebp
mov dword [esi + 4], ebp
lea eax, [edi + 0x62c]
mov dword [esi], eax
mov ecx, dword [eax + 4]
mov dword [esi + 4], ecx
mov ecx, dword [eax + 4]
cmp ecx, ebp
mov edx, dword [edi + 0x628]
jg 0x4307fe
not ecx
jmp 0x43080b
cmp edx, ebp
jge 0x430809
mov ebx, dword [eax]
mov edx, eax
sub edx, dword [ebx + 4]
add ecx, edx
mov dword [ecx], esi
mov dword [eax + 4], esi
mov edx, dword [edi + 0x620]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
add edi, 0x61c
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x1c]
cmp eax, ebp
je 0x430846
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 0x10