Function at 0x421cb0
Capabilities:
Create thread
Resume thread
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5d4b23
mov eax, dword fs:[0]
push eax
sub esp, 0x27c
mov eax, dword [0x6385e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x258]
fldz
fstp qword [eax + 0x190]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 0x180], 0
mov dword [ecx + 0x184], 0
mov edx, dword [ebp - 0x258]
mov dword [edx + 0x188], 0
mov dword [edx + 0x18c], 0
mov eax, dword [ebp - 0x258]
mov byte [eax + 0x178], 0
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 0x51c], 0
mov edx, dword [ebp - 0x258]
mov dword [edx + 0x198], 0
mov eax, dword [ebp - 0x258]
mov byte [eax + 0x19c], 0
mov ecx, dword [ebp - 0x258]
add ecx, 0x1cc
call fcn.00401110
mov ecx, dword [ebp - 0x258]
add ecx, 0x1d4
call fcn.00401110
push 6
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
lea ecx, [ebp - 0x2c]
call fcn.00432460
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x258]
call fcn.00419c60
movzx ecx, al
test ecx, ecx
je 0x421ddf
call fcn.004198d0
mov edx, dword [ebp - 0x258]
mov byte [edx + 0x80], al
jmp 0x422295
call fcn.004198d0
movzx eax, al
test eax, eax
je 0x421df0
jmp 0x422295
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004a8750
add esp, 4
movzx edx, al
test edx, edx
jne 0x421e4c
mov eax, dword [ebp - 0x258]
push eax
lea ecx, [ebp - 0x2c]
push ecx
call fcn.004a83c0
add esp, 8
push 7
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
mov dword [ebp - 0x140], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004324a0
mov eax, dword [ebp - 0x140]
jmp 0x422bd7
push 3
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
mov dword [ebp - 0x7c], 0x12c
push 0
push str.SOFTWAREHitman_Pro
call fcn.00414b30
mov ecx, eax
call fcn.00414830
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x421e8d
lea edx, [ebp - 0x7c]
push edx
push str.NoInternetTimeout
mov ecx, dword [ebp - 0x3c]
call fcn.00414450
lea eax, [ebp - 0x54]
push eax
call fcn.00411800
add esp, 4
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], 0
fild qword [ebp - 0x260]
sub esp, 8
fstp qword [esp]
lea edx, [ebp - 0x74]
push edx
lea ecx, [ebp - 0x54]
call fcn.00411770
mov byte [ebp - 4], 2
mov byte [ebp - 0x75], 0
mov byte [ebp - 0x56], 0
mov byte [ebp - 0x55], 0
push str.Labels_NoInternetWait
lea ecx, [ebp - 0x14c]
call fcn.004b3550
mov byte [ebp - 4], 3
lea eax, [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x88]
push ecx
mov ecx, dword [ebp - 0x258]
call fcn.0041b330
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x14c]
call fcn.004b3860
push 0x5fcdf0
lea ecx, [ebp - 0x88]
call fcn.004b3b40
lea edx, [ebp - 0x16c]
push edx
call fcn.00411800
add esp, 4
mov dword [ebp - 0x264], eax
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x264]
call fcn.00411610
mov byte [ebp - 0x14d], al
lea ecx, [ebp - 0x16c]
call fcn.00407c30
movzx ecx, byte [ebp - 0x14d]
test ecx, ecx
je 0x422116
mov dword [ebp - 0x8c], 0xa
movzx edx, byte [ebp - 0x75]
test edx, edx
jne 0x4220c5
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x8c]
sub ecx, 1
mov dword [ebp - 0x8c], ecx
test eax, eax
jle 0x4220c5
lea edx, [ebp - 0x184]
push edx
call fcn.00411800
add esp, 4
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x268]
push eax
lea ecx, [ebp - 0x9c]
push ecx
lea ecx, [ebp - 0x74]
call fcn.00407c50
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x184]
call fcn.00407c30
lea ecx, [ebp - 0x9c]
call fcn.004113c0
fcomp qword [0x612a68]
fnstsw ax
test ah, 5
jp 0x422001
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x9c]
call fcn.00407b80
jmp 0x4220c5
lea edx, [ebp - 0x88]
push edx
lea ecx, [ebp - 0xa8]
call fcn.004b34d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x9c]
call fcn.00411360
test eax, eax
jle 0x422046
lea ecx, [ebp - 0x9c]
call fcn.00411360
push eax
push 0x5fd90c
lea eax, [ebp - 0xa8]
push eax
call fcn.004b3ce0
add esp, 0xc
lea ecx, [ebp - 0x9c]
call fcn.00411330
push eax
push 0x5fd918
lea ecx, [ebp - 0xa8]
push ecx
call fcn.004b3ce0
add esp, 8
fldz
fstp dword [esp]
lea edx, [ebp - 0xa8]
push edx
mov ecx, dword [ebp - 0x258]
call fcn.0041aea0
push 0x1f4
mov ecx, dword [ebp - 0x258]
add ecx, 0x1cc
mov eax, dword [ebp - 0x258]
mov edx, dword [eax + 0x1cc]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 0x75], al
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xa8]
call fcn.004b3860
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x9c]
call fcn.00407b80
jmp 0x421f72
movzx ecx, byte [ebp - 0x75]
test ecx, ecx
jne 0x4220d6
cmp dword [ebp - 0x8c], 0
jle 0x4220da
jmp 0x422116
call fcn.004198d0
movzx edx, al
test edx, edx
je 0x4220ee
mov byte [ebp - 0x56], 1
jmp 0x422116
movzx eax, byte [ebp - 0x55]
test eax, eax
jne 0x422111
push str.No_connection:_Trying_no_proxy_r_n
call fcn.0054d5e0
add esp, 4
mov byte [ebp - 0x55], 1
push 0
call fcn.004beaf0
add esp, 4
jmp 0x421f24
movzx ecx, byte [ebp - 0x75]
test ecx, ecx
je 0x422188
push 0
mov ecx, dword [ebp - 0x258]
call fcn.0041bf20
push 1
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
mov dword [ebp - 0x188], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.004b3860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x74]
call fcn.00407c30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.00407c30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004324a0
mov eax, dword [ebp - 0x188]
jmp 0x422bd7
movzx edx, byte [ebp - 0x56]
test edx, edx
jne 0x422261
push str.Labels_NoInternet
lea ecx, [ebp - 0x194]
call fcn.004b3550
mov byte [ebp - 4], 8
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp - 0x258]
call fcn.0041b330
mov dword [ebp - 0x26c], eax
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x270]
push eax
mov ecx, dword [ebp - 0x258]
call fcn.0041bef0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1a0]
call fcn.004b3860
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x194]
call fcn.004b3860
push 1
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
mov dword [ebp - 0x1a4], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.004b3860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x74]
call fcn.00407c30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.00407c30
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004324a0
mov eax, dword [ebp - 0x1a4]
jmp 0x422bd7
push 6
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.004b3860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x74]
call fcn.00407c30
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.00407c30
mov ecx, dword [ebp - 0x258]
movzx edx, byte [ecx + 0x14]
test edx, edx
jne 0x4222a8
jmp 0x42232b
push 0
mov ecx, dword [ebp - 0x258]
call fcn.00419d20
movzx eax, al
test eax, eax
je 0x42232b
mov ecx, dword [ebp - 0x258]
add ecx, 0x1cc
call fcn.004b9730
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0x1a0]
mov dword [ebp - 0xac], edx
push 2
lea eax, [ebp - 0xb0]
push eax
call fcn.00412010
add esp, 8
test eax, eax
jne 0x42232b
push 1
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004324a0
mov eax, dword [ebp - 0x1a8]
jmp 0x422bd7
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x34], eax
push 1
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x258]
add edx, 0x180
push edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov eax, dword [ebp - 0x258]
add eax, 0x188
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov eax, dword [ebp - 0x258]
mov byte [eax + 0x178], 1
lea ecx, [ebp - 0x1c4]
push ecx
call fcn.00411800
add esp, 4
mov dword [ebp - 0x274], eax
mov edx, dword [ebp - 0x274]
push edx
mov ecx, dword [ebp - 0x258]
add ecx, 0x160
call fcn.00411530
lea ecx, [ebp - 0x1c4]
call fcn.00407c30
push str.Labels_Initializing
lea ecx, [ebp - 0x1d0]
call fcn.004b3550
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x1d0]
push eax
lea ecx, [ebp - 0x1dc]
push ecx
mov ecx, dword [ebp - 0x258]
call fcn.0041b330
mov dword [ebp - 0x278], eax
mov edx, dword [ebp - 0x278]
mov dword [ebp - 0x27c], edx
mov byte [ebp - 4], 0xb
push ecx
fldz
fstp dword [esp]
mov eax, dword [ebp - 0x27c]
push eax
mov ecx, dword [ebp - 0x258]
call fcn.0041aea0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1dc]
call fcn.004b3860
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1d0]
call fcn.004b3860
mov ecx, dword [ebp - 0x258]
movzx edx, byte [ecx + 0x158]
test edx, edx
jne 0x422450
mov ecx, dword [ebp - 0x258]
call fcn.0041fcb0
mov ecx, dword [ebp - 0x258]
call fcn.00420d60
mov ecx, dword [ebp - 0x258]
call fcn.0041dd10
mov byte [ebp - 0x2d], 0
lea eax, [ebp - 0x2d]
push eax
call fcn.0042e9d0
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x42261c
movzx edx, byte [ebp - 0x2d]
test edx, edx
je 0x42261c
push str.Malware_TDL3_Title
lea ecx, [ebp - 0x1e8]
call fcn.004b3550
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, dword [ebp - 0x258]
call fcn.0041b330
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1e8]
call fcn.004b3860
push str.Malware_TDL3_Desc
lea ecx, [ebp - 0x1f4]
call fcn.004b3550
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x1f4]
push edx
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0x258]
call fcn.0041b330
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1f4]
call fcn.004b3860
push 0x60
call fcn.0054d57b
add esp, 4
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x1fc], 0
je 0x42256d
push str._tdl3.sticky
lea ecx, [ebp - 0x208]
call fcn.004b3550
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x254]
or ecx, 1
mov dword [ebp - 0x254], ecx
lea edx, [ebp - 0xcc]
push edx
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x208]
push ecx
mov ecx, dword [ebp - 0x1fc]
call fcn.00414cc0
mov dword [ebp - 0x280], eax
jmp 0x422577
mov dword [ebp - 0x280], 0
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x254]
and ecx, 1
je 0x4225ba
and dword [ebp - 0x254], 0xfffffffe
lea ecx, [ebp - 0x208]
call fcn.004b3860
mov edx, dword [ebp - 0x258]
push edx
mov ecx, dword [ebp - 0xd0]
call fcn.00409180
mov dword [ebp - 0xc0], eax
push 1
mov ecx, dword [ebp - 0xc0]
call fcn.0040fa10
push 1
mov ecx, dword [ebp - 0xc0]
call fcn.0040faa0
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, dword [ebp - 0x258]
call fcn.0041e250
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xcc]
call fcn.004b3860
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xbc]
call fcn.004b3860
push 0
mov ecx, dword [ebp - 0x258]
add ecx, 0x1cc
mov edx, dword [ebp - 0x258]
mov eax, dword [edx + 0x1cc]
mov edx, dword [eax + 4]
call edx
movzx eax, al
test eax, eax
je 0x422654
push 1
mov ecx, dword [ebp - 0x258]
call fcn.0041afa0
jmp 0x422b8d
mov ecx, dword [ebp - 0x258]
cmp dword [ecx + 8], 2
jne 0x4228ed
lea ecx, [ebp - 0xf0]
call fcn.0042fe80
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x258]
cmp dword [edx + 0x78], 0
je 0x422822
lea ecx, [ebp - 0xf8]
call fcn.004301c0
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x258]
mov ecx, dword [ecx + 0x78]
call fcn.00435230
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], eax
jmp 0x4226c1
lea ecx, [ebp - 0xf8]
call fcn.004301e0
lea ecx, [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x258]
mov ecx, dword [edx + 0x78]
call fcn.0040c9a0
push eax
lea ecx, [ebp - 0xf8]
call fcn.0047f720
movzx eax, al
test eax, eax
je 0x422822
lea ecx, [ebp - 0xf8]
call fcn.00406340
push eax
lea ecx, [ebp - 0x104]
call fcn.004b34d0
mov byte [ebp - 4], 0x16
push 0x5fc5a0
lea ecx, [ebp - 0x104]
call fcn.004b4780
movzx ecx, al
test ecx, ecx
je 0x4227f5
lea ecx, [ebp - 0x104]
call fcn.00404b70
sub eax, 1
push eax
push 0
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x104]
call fcn.004b6620
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x288], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x104]
call fcn.004b3890
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x224]
call fcn.004b3860
lea edx, [ebp - 0x104]
push edx
mov ecx, dword [ebp - 0x258]
call fcn.0041e330
mov dword [ebp - 0x108], eax
cmp dword [ebp - 0x108], 0
je 0x4227f3
mov eax, dword [0x63e870]
push eax
lea ecx, [ebp - 0x230]
call fcn.004b3550
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x258]
push ecx
lea edx, [ebp - 0xf0]
push edx
push 0
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x104]
push ecx
mov edx, dword [ebp - 0x108]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x108]
mov edx, dword [eax + 4]
call edx
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x230]
call fcn.004b3860
jmp 0x42280e
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x23c]
push ecx
lea ecx, [ebp - 0xf0]
call fcn.0042feb0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x104]
call fcn.004b3860
jmp 0x4226b6
lea ecx, [ebp - 0xf0]
call fcn.0040c9d0
test eax, eax
jne 0x422836
jmp 0x4228b7
lea ecx, [ebp - 0x110]
call fcn.004301c0
lea edx, [ebp - 0x244]
push edx
lea ecx, [ebp - 0xf0]
call fcn.00435230
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], edx
jmp 0x422871
lea ecx, [ebp - 0x110]
call fcn.004301e0
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0xf0]
call fcn.0040c9a0
push eax
lea ecx, [ebp - 0x110]
call fcn.0047f720
movzx ecx, al
test ecx, ecx
je 0x4228b7
push 1
lea ecx, [ebp - 0x110]
call fcn.00406340
push eax
mov ecx, dword [ebp - 0x258]
call fcn.0041e0d0
mov dword [ebp - 0x114], eax
jmp 0x422866
mov edx, dword [ebp - 0x258]
mov ecx, dword [edx + 0x278]
call fcn.0048b3c0
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 0x27c]
call fcn.00401780
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf0]
call fcn.00409100
jmp 0x422b8d
mov ecx, dword [ebp - 0x258]
cmp dword [ecx + 8], 0
je 0x422909
mov edx, dword [ebp - 0x258]
cmp dword [edx + 8], 1
jne 0x422b8d
mov ecx, dword [ebp - 0x258]
call fcn.0042c520
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 0x1dc], eax
lea edx, [ebp - 0x120]
push edx
push 4
mov eax, dword [ebp - 0x258]
push eax
push 0x4246e0
push 0x20000
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x42297e
lea ecx, [ebp - 0x11c]
push ecx
push 4
mov edx, dword [ebp - 0x258]
push edx
push 0x425220
push 0x20000
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x4229a9
lea eax, [ebp - 0x118]
push eax
push 4
mov ecx, dword [ebp - 0x258]
push ecx
push 0x425630
push 0x20000
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4229d8
cmp dword [ebp - 0x1c], 0
je 0x4229c1
push 0xffffffffffffffff
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
cmp dword [ebp - 0x18], 0
je 0x4229d3
push 0xffffffffffffffff
mov eax, dword [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
jmp 0x422b8d
mov ecx, dword [ebp - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push str.Waiting_for_enumerating_threads..._r_n
call fcn.0054d5e0
add esp, 4
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0x1dc]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x12c], str.EnumFiles
mov dword [ebp - 0x128], 0x5fda34
mov dword [ebp - 0x124], str.EnumRegistry
lea ecx, [ebp - 0x138]
call fcn.004b34a0
mov byte [ebp - 4], 0x19
mov eax, 1
test eax, eax
je 0x422b2c
mov ecx, dword [0x63e870]
push ecx
lea ecx, [ebp - 0x138]
call fcn.004b38f0
mov dword [ebp - 0x13c], 0
jmp 0x422a79
mov edx, dword [ebp - 0x13c]
add edx, 1
mov dword [ebp - 0x13c], edx
cmp dword [ebp - 0x13c], 3
jae 0x422af2
push 0
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp + eax*4 - 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x422abd
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp + edx*4 - 0x12c]
push eax
push str._sready
lea ecx, [ebp - 0x138]
push ecx
call fcn.004b3ce0
add esp, 0xc
jmp 0x422aed
mov edx, dword [ebp - 0x13c]
mov eax, dword [ebp + edx*4 - 0x120]
push eax
mov ecx, dword [ebp - 0x13c]
mov edx, dword [ebp + ecx*4 - 0x12c]
push edx
push str._sbusy:_u
lea eax, [ebp - 0x138]
push eax
call fcn.004b3ce0
add esp, 0x10
jmp 0x422a6a
lea ecx, [ebp - 0x138]
call fcn.004553f0
push eax
push str._s_r_n
call fcn.0054eca8
add esp, 8
push 0x1388
push 1
lea ecx, [ebp - 0x1c]
push ecx
push 3
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp eax, 0x102
je 0x422b27
jmp 0x422b2c
jmp 0x422a3f
mov edx, dword [ebp - 0x258]
mov eax, dword [edx + 0x1dc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 0x1dc], 0
push str.Enumerating_threads_completed___start_FuzzyClassifier_r_n
call fcn.0054d5e0
add esp, 4
mov edx, dword [ebp - 0x258]
mov ecx, dword [edx + 0x27c]
call fcn.00401780
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 0x280]
call fcn.004909a0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x138]
call fcn.004b3860
lea ecx, [ebp - 0x38]
push ecx
push 0
mov edx, dword [ebp - 0x258]
push edx
push 0x425b80
push 0x20000
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 0x1b0], eax
mov dword [ebp - 0x250], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.004324a0
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret