Function at 0x10021040
Capabilities:
Create thread
Delete file
Parse pe header
Query environment variable
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10063558
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x5d84
call fcn.1005bcf0
mov eax, dword [0x1007a010]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
push eax
mov dword [ebp - 0x5b7c], ecx
mov dword [ebp - 0x5c8c], esi
call dword [0x1007dcb0]
add esp, 4
mov edx, eax
mov ecx, str.test_method
lea esp, [esp]
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100210c0
test bl, bl
je 0x100210bc
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100210c0
add ecx, 2
add edx, 2
test bl, bl
jne 0x100210a0
xor ecx, ecx
jmp 0x100210c5
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x1002457c
mov edx, eax
mov ecx, str.AllList
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100210f4
test bl, bl
je 0x100210f0
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100210f4
add ecx, 2
add edx, 2
test bl, bl
jne 0x100210d4
xor ecx, ecx
jmp 0x100210f9
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10024899
cmp byte [0x1007de11], cl
jne 0x10021115
call fcn.10029b40
mov byte [0x1007de11], 1
push str.npapi:_AllList___method
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov edi, eax
push 0xa
mov ecx, edi
call fcn.10002b00
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + edi + 0xc]
add eax, edi
xor ebx, ebx
test cl, 6
jne 0x1002115a
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x1002115a
mov ebx, 4
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
add ecx, edi
test ebx, ebx
je 0x1002117b
mov eax, dword [ecx + 0xc]
or eax, ebx
cmp dword [ecx + 0x38], 0
jne 0x10021173
or eax, 4
push 0
push eax
call fcn.10001120
cmp dword [ebp + 0x10], 2
jne 0x100213b8
cmp dword [esi], 6
jne 0x100213b8
cmp dword [esi + 0x10], 5
jne 0x100213b8
xor edx, edx
push 0x208
push edx
lea eax, [ebp - 0x636]
push eax
mov word [ebp - 0x638], dx
call fcn.1004acc0
mov edx, dword [0x1007dd3c]
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x638]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x100213b8
mov esi, 7
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x694], esi
mov dword [ebp - 0x698], eax
mov word [ebp - 0x6a8], cx
lea edx, [ebp - 0x6a8]
push edx
lea edx, [ebp - 0x638]
mov dword [ebp - 4], eax
call fcn.10007680
lea ebx, [esi - 6]
lea edi, [ebp - 0x6a8]
call fcn.1002b9c0
cmp eax, 0xffffffff
je 0x100213ad
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x640], esi
mov dword [ebp - 0x644], ebx
mov word [ebp - 0x654], cx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x694]
mov ecx, dword [ebp - 0x6a8]
cmp edx, 8
jae 0x1002124d
mov ecx, edi
lea eax, [ecx + eax*2]
mov ecx, dword [ebp - 0x6a8]
cmp edx, 8
jae 0x10021261
lea ecx, [ebp - 0x6a8]
push eax
push ecx
lea ecx, [ebp - 0x654]
call fcn.1002f610
mov edx, dword [ebp - 0x5c8c]
mov edi, dword [edx + 8]
push str.length
call dword [0x1007dca0]
mov ecx, dword [ebp - 0x5b7c]
mov ecx, dword [ecx + 0xc]
lea edx, [ebp - 0x5d84]
push edx
push eax
push edi
push ecx
call dword [0x1007dcd0]
add esp, 0x14
cmp dword [ebp - 0x5d7c], 0x100000
ja 0x100213a2
lea esi, [ebp - 0x5b90]
call fcn.1002b750
mov byte [ebp - 4], 3
xor esi, esi
nop
cmp esi, dword [ebp - 0x5d7c]
jae 0x100213d8
push esi
call dword [0x1007dca8]
mov ecx, dword [ebp - 0x5b7c]
mov ecx, dword [ecx + 0xc]
lea edx, [ebp - 0x5d68]
push edx
push eax
push edi
push ecx
call dword [0x1007dcd0]
add esp, 0x14
cmp dword [ebp - 0x5d68], 5
jne 0x10021361
mov dword [ebp - 0x8ac], 0xf
mov dword [ebp - 0x8b0], ebx
mov byte [ebp - 0x8c0], 0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x5d5c]
mov ecx, dword [ebp - 0x5d60]
push eax
push ecx
lea ecx, [ebp - 0x8c0]
call fcn.100035b0
lea edx, [ebp - 0x8c0]
push edx
lea ecx, [ebp - 0x5b90]
call fcn.100310b0
push eax
lea eax, [ebp - 0x5d94]
push eax
lea ecx, [ebp - 0x5b90]
push ecx
call fcn.10030390
lea ecx, [ebp - 0x8c0]
mov byte [ebp - 4], 3
call fcn.10002a50
inc esi
jmp 0x100212c0
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov edx, dword [ebp - 0x5b8c]
push edx
call fcn.10046e92
add esp, 4
lea ecx, [ebp - 0x654]
call fcn.10007650
lea ecx, [ebp - 0x6a8]
call fcn.10007650
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1004677e
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebp - 4], 2
mov dword [ebp - 0x5c50], ebx
mov dword [ebp - 0x5c4c], ebx
mov dword [ebp - 0x5c48], ebx
mov dword [ebp - 0x5c20], ebx
mov dword [ebp - 0x5c1c], ebx
mov dword [ebp - 0x5c18], ebx
mov dword [ebp - 0x5c00], ebx
mov dword [ebp - 0x5bfc], ebx
mov dword [ebp - 0x5bf8], ebx
mov dword [ebp - 0x5bcc], ebx
mov dword [ebp - 0x5bc8], ebx
mov dword [ebp - 0x5bc4], ebx
mov dword [ebp - 0x5c40], ebx
mov dword [ebp - 0x5c3c], ebx
mov dword [ebp - 0x5c38], ebx
mov dword [ebp - 0x5c10], ebx
mov dword [ebp - 0x5c0c], ebx
mov dword [ebp - 0x5c08], ebx
mov dword [ebp - 0x5c30], ebx
mov dword [ebp - 0x5c2c], ebx
mov dword [ebp - 0x5c28], ebx
mov dword [ebp - 0x5ca0], ebx
mov dword [ebp - 0x5c9c], ebx
mov dword [ebp - 0x5c98], ebx
lea esi, [ebp - 0x5bdc]
mov byte [ebp - 4], 0xe
call fcn.1002b000
xor eax, eax
mov dword [ebp - 0x65c], 7
mov dword [ebp - 0x660], ebx
mov word [ebp - 0x670], ax
lea ecx, [ebp - 0x670]
push ecx
mov edx, esi
push edx
lea eax, [ebp - 0x5cac]
push eax
lea ecx, [ebp - 0x5c30]
push ecx
lea edx, [ebp - 0x5c10]
push edx
push 0x1007c560
lea eax, [ebp - 0x5bcc]
push eax
lea ecx, [ebp - 0x5c00]
push ecx
lea edx, [ebp - 0x5c20]
push edx
sub esp, 0x1c
mov byte [ebp - 4], 0x10
mov ecx, esp
mov dword [ebp - 0x5cc0], esp
push 0x1007b2a8
lea esi, [ebp - 0x5c40]
lea edi, [ebp - 0x5c50]
call fcn.10002a10
sub esp, 0x1c
mov byte [ebp - 4], 0x11
mov ecx, esp
mov dword [ebp - 0x5b78], esp
push 0x1007b1a8
call fcn.10007600
sub esp, 0x1c
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x654]
mov ecx, esp
mov dword [ebp - 0x5ba8], esp
push eax
call fcn.100075b0
mov edx, esi
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.1000b070
test al, al
jne 0x100215c6
lea ecx, [ebp - 0x670]
call fcn.10007650
lea ecx, [ebp - 0x5bdc]
push ecx
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
mov esi, edi
call fcn.1000efc0
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5b80]
jmp 0x10021388
push 0x208
lea ecx, [ebp - 0x21e]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x220], ax
call fcn.1004acc0
mov esi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
add esp, 0xc
push 0x105
lea edx, [ebp - 0x220]
push edx
push str.TEMP
call esi
test eax, eax
jne 0x100216fd
push 0x105
lea eax, [ebp - 0x220]
push eax
push 0x1006f288
call esi
test eax, eax
jne 0x100216fd
push 0x105
lea ecx, [ebp - 0x220]
push ecx
push str.APPDATA
call esi
test eax, eax
jne 0x100216fd
push 0x105
lea edx, [ebp - 0x220]
push edx
push str.HOMEPATH
call esi
test eax, eax
jne 0x100216fd
push 0x105
lea eax, [ebp - 0x220]
push eax
push str.USERPROFILE
call esi
test eax, eax
jne 0x100216fd
lea ecx, [ebp - 0x670]
call fcn.10007650
lea ecx, [ebp - 0x5bdc]
push ecx
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
lea esi, [ebp - 0x5c50]
call fcn.1000efc0
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5b94]
jmp 0x10021388
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x68c]
call fcn.10007600
lea ecx, [ebp - 0x46c4]
push ecx
mov byte [ebp - 4], 0x15
call fcn.10007220
xor edi, edi
mov dword [ebp - 0x5bec], edi
mov dword [ebp - 0x5be8], ebx
mov dword [ebp - 0x5be4], ebx
lea esi, [ebp - 0x5ba4]
mov byte [ebp - 4], 0x17
call fcn.1002b7c0
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x5b94], ebx
lea esp, [esp]
mov ecx, dword [ebp - 0x5c1c]
mov esi, dword [ebp - 0x5c20]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x5b94], eax
jae 0x10022794
mov edi, dword [ebp - 0x5b94]
lea edi, [edi + edi*4]
shl edi, 4
add edi, esi
lea ebx, [edi + 0x4c]
lea eax, [ebp - 0x5d30]
lea ecx, [ebp - 0x5ba4]
mov dword [ebp - 0x5b78], edi
mov dword [ebp - 0x5b80], ebx
call fcn.1002b830
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x5ba0]
jne 0x100225eb
mov esi, 7
xor edx, edx
mov dword [ebp - 0x7ac], esi
mov dword [ebp - 0x7b0], 0
mov word [ebp - 0x7c0], dx
lea eax, [ebp - 0x46c4]
push eax
lea ebx, [ebp - 0x7c0]
lea eax, [esi + 3]
lea ecx, [esi - 1]
mov byte [ebp - 4], 0x19
call fcn.100073b0
xor ecx, ecx
mov dword [ebp - 0x7e4], esi
mov dword [ebp - 0x7e8], 0
mov word [ebp - 0x7f8], cx
lea edx, [ebp - 0x46c4]
mov eax, 3
push edx
lea ebx, [ebp - 0x7f8]
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.100073b0
push 0x1006e9b4
lea eax, [ebp - 0x68c]
push eax
lea ecx, [ebp - 0x954]
push ecx
call fcn.10009480
add esp, 0xc
mov ecx, eax
lea eax, [ebp - 0x7c0]
lea esi, [ebp - 0x76c]
mov byte [ebp - 4], 0x1b
call fcn.100093f0
lea ecx, [ebp - 0x954]
mov byte [ebp - 4], 0x1d
call fcn.10007650
cmp dword [ebp - 0x758], 8
mov eax, dword [ebp - 0x76c]
jae 0x10021879
mov eax, esi
push 0
push 0x8000080
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0x5ba8], ebx
cmp ebx, 0xffffffff
jne 0x100219ee
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x5be8]
mov esi, dword [ebp - 0x5bec]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100218ed
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esi, 0x1c
mov edi, eax
cmp dword [esi + 0x14], 8
jb 0x100218e2
mov eax, dword [esi]
jmp 0x100218e4
mov eax, esi
push eax
call ebx
add esi, 0x38
dec edi
jne 0x100218d8
lea ecx, [ebp - 0x76c]
call fcn.10007650
lea ecx, [ebp - 0x7f8]
call fcn.10007650
lea ecx, [ebp - 0x7c0]
call fcn.10007650
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5bbc]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov edx, dword [ebp - 0x5ba0]
push edx
call fcn.10046e92
add esp, 4
lea esi, [ebp - 0x5bec]
call fcn.1002b320
lea eax, [ebp - 0x46c4]
push eax
mov byte [ebp - 4], 0x15
call fcn.100072e0
lea ecx, [ebp - 0x68c]
call fcn.10007650
lea ecx, [ebp - 0x670]
call fcn.10007650
lea ecx, [ebp - 0x5bdc]
push ecx
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
lea esi, [ebp - 0x5c50]
call fcn.1000efc0
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5b74]
jmp 0x10021388
lea esi, [ebp - 0x5b70]
call fcn.1001fda0
xor eax, eax
mov dword [ebp - 0x800], 7
mov dword [ebp - 0x804], 0
mov word [ebp - 0x814], ax
lea esi, [ebp - 0x5ce8]
mov byte [ebp - 4], 0x21
call fcn.1002b070
lea edx, [ebp - 0x670]
lea ecx, [ebp - 0x5b70]
mov byte [ebp - 4], 0x22
call fcn.1002a2f0
mov ecx, esi
push ecx
lea edx, [ebp - 0x5bdc]
push edx
lea edx, [ebp - 0x814]
lea ecx, [ebp - 0x5b70]
call fcn.1002a8a0
lea esi, [ebp - 0x3300]
call fcn.1001fda0
xor eax, eax
mov dword [ebp - 0x774], 7
mov dword [ebp - 0x778], 0
mov word [ebp - 0x788], ax
mov edx, edi
mov ecx, esi
mov byte [ebp - 4], 0x24
call fcn.1002a2f0
lea eax, [ebp - 0x5ce8]
mov ecx, esi
call fcn.1002a870
lea ecx, [ebp - 0x1e84]
push ecx
lea edx, [ebp - 0x5bdc]
push edx
lea edx, [ebp - 0x788]
mov ecx, esi
call fcn.1002a8a0
lea eax, [ebp - 0x788]
push eax
push str.info:_Invoke__:_AllList_:_attach_name:
call fcn.1002f650
add esp, 4
push eax
call fcn.10011310
add esp, 8
mov esi, eax
call fcn.1000e7f0
cmp byte [edi + 0x2c], 0
jne 0x10021cac
mov edx, dword [edi + 0x20]
sub edx, dword [edi + 0x1c]
mov eax, dword [edi + 0x1c]
push 0
lea ecx, [ebp - 0x5cc4]
push ecx
push edx
push eax
push ebx
mov dword [ebp - 0x5cc4], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [edi + 0x20]
sub ecx, dword [edi + 0x1c]
cmp dword [ebp - 0x5cc4], ecx
je 0x10022527
mov ecx, dword [ebp - 0x5be8]
mov esi, dword [ebp - 0x5bec]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10021b65
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
add esi, 0x1c
mov edi, eax
lea esp, [esp]
cmp dword [esi + 0x14], 8
jb 0x10021b5a
mov eax, dword [esi]
jmp 0x10021b5c
mov eax, esi
push eax
call ebx
add esi, 0x38
dec edi
jne 0x10021b50
lea ecx, [ebp - 0x788]
call fcn.10007650
lea edx, [ebp - 0x3300]
push edx
mov byte [ebp - 4], 0x22
call fcn.10024eb0
lea eax, [ebp - 0x5ce8]
push eax
mov byte [ebp - 4], 0x21
call fcn.10020430
lea ecx, [ebp - 0x814]
call fcn.10007650
lea ecx, [ebp - 0x5b70]
push ecx
mov byte [ebp - 4], 0x1d
call fcn.10024eb0
lea ecx, [ebp - 0x76c]
call fcn.10007650
lea ecx, [ebp - 0x7f8]
call fcn.10007650
lea ecx, [ebp - 0x7c0]
call fcn.10007650
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d40]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov edx, dword [ebp - 0x5ba0]
push edx
call fcn.10046e92
add esp, 4
lea esi, [ebp - 0x5bec]
call fcn.1002b320
lea eax, [ebp - 0x46c4]
push eax
mov byte [ebp - 4], 0x15
call fcn.100072e0
lea ecx, [ebp - 0x68c]
call fcn.10007650
lea ecx, [ebp - 0x670]
call fcn.10007650
lea ecx, [ebp - 0x5bdc]
push ecx
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
lea esi, [ebp - 0x5c50]
call fcn.1000efc0
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d48]
jmp 0x10021388
lea esi, [ebp - 0x1e54]
call fcn.1001fda0
xor eax, eax
mov dword [ebp - 0x73c], 7
mov dword [ebp - 0x740], 0
mov word [ebp - 0x750], ax
lea edx, [edi + 0x30]
mov ecx, esi
mov byte [ebp - 4], 0x28
call fcn.1002a2f0
lea eax, [ebp - 0x5ce8]
mov ecx, esi
call fcn.1002a870
lea ecx, [ebp - 0x9d8]
push ecx
lea edx, [ebp - 0x5bdc]
push edx
lea edx, [ebp - 0x750]
mov ecx, esi
call fcn.1002a8a0
lea eax, [ebp - 0x750]
push eax
push str.info:_Invoke__:_AllList_:_zip_file_name:
call fcn.1002f650
add esp, 4
push eax
call fcn.10011310
add esp, 8
mov esi, eax
call fcn.1000e7f0
mov eax, dword [edi + 0x20]
sub eax, dword [edi + 0x1c]
lea edi, [eax + eax]
call fcn.1001eb30
mov esi, eax
mov dword [ebp - 0x5b7c], esi
test esi, esi
jne 0x10021eae
lea ecx, [ebp - 0x750]
call fcn.10007650
lea ecx, [ebp - 0x1e54]
push ecx
mov byte [ebp - 4], 0x24
call fcn.10024eb0
lea ecx, [ebp - 0x788]
call fcn.10007650
lea edx, [ebp - 0x3300]
push edx
mov byte [ebp - 4], 0x22
call fcn.10024eb0
lea eax, [ebp - 0x5ce8]
push eax
mov byte [ebp - 4], 0x21
call fcn.10020430
lea ecx, [ebp - 0x814]
call fcn.10007650
lea ecx, [ebp - 0x5b70]
push ecx
mov byte [ebp - 4], 0x1d
call fcn.10024eb0
lea ecx, [ebp - 0x76c]
call fcn.10007650
lea ecx, [ebp - 0x7f8]
call fcn.10007650
lea ecx, [ebp - 0x7c0]
call fcn.10007650
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d58]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov edx, dword [ebp - 0x5ba0]
push edx
call fcn.10046e92
add esp, 4
lea esi, [ebp - 0x5bec]
call fcn.1002b320
lea eax, [ebp - 0x46c4]
push eax
mov byte [ebp - 4], 0x15
call fcn.100072e0
lea ecx, [ebp - 0x68c]
call fcn.10007650
lea ecx, [ebp - 0x670]
call fcn.10007650
lea ecx, [ebp - 0x5bdc]
push ecx
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
lea esi, [ebp - 0x5c50]
call fcn.1000efc0
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d6c]
jmp 0x10021388
mov ecx, dword [ebp - 0x5b78]
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x1c]
cmp dword [ebp - 0x73c], 8
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ebp - 0x750]
jae 0x10021ed2
lea edx, [ebp - 0x750]
push eax
push ecx
mov eax, esi
call fcn.1001ec40
add esp, 8
test eax, eax
je 0x10022072
cmp dword [esi], 2
mov edi, esi
sete al
test al, al
je 0x10021ef9
call fcn.1001ecf0
jmp 0x10021efe
call fcn.1001afa0
lea ecx, [ebp - 0x750]
call fcn.10007650
lea eax, [ebp - 0x1e54]
push eax
mov byte [ebp - 4], 0x24
call fcn.10024eb0
lea ecx, [ebp - 0x788]
call fcn.10007650
lea ecx, [ebp - 0x3300]
push ecx
mov byte [ebp - 4], 0x22
call fcn.10024eb0
lea edx, [ebp - 0x5ce8]
push edx
mov byte [ebp - 4], 0x21
call fcn.10020430
lea ecx, [ebp - 0x814]
call fcn.10007650
lea eax, [ebp - 0x5b70]
push eax
mov byte [ebp - 4], 0x1d
call fcn.10024eb0
lea ecx, [ebp - 0x76c]
call fcn.10007650
lea ecx, [ebp - 0x7f8]
call fcn.10007650
lea ecx, [ebp - 0x7c0]
call fcn.10007650
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d44]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov ecx, dword [ebp - 0x5ba0]
push ecx
call fcn.10046e92
add esp, 4
lea esi, [ebp - 0x5bec]
call fcn.1002b320
lea edx, [ebp - 0x46c4]
push edx
mov byte [ebp - 4], 0x15
call fcn.100072e0
lea ecx, [ebp - 0x68c]
call fcn.10007650
lea ecx, [ebp - 0x670]
call fcn.10007650
lea eax, [ebp - 0x5bdc]
push eax
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
lea esi, [ebp - 0x5c50]
call fcn.1000efc0
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d20]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov ecx, dword [ebp - 0x5b8c]
push ecx
jmp 0x1002139a
xor eax, eax
mov dword [ebp - 0x5cd4], eax
mov dword [ebp - 0x5cc8], eax
lea ebx, [ebp - 0x5cc8]
lea edi, [ebp - 0x5cd4]
mov eax, esi
call fcn.1001ec80
mov ebx, dword [ebp - 0x5cd4]
xor eax, eax
cmp ebx, eax
jne 0x1002222f
cmp dword [esi], 2
mov edi, esi
sete al
test al, al
je 0x100220b6
call fcn.1001ecf0
jmp 0x100220bb
call fcn.1001afa0
lea ecx, [ebp - 0x750]
call fcn.10007650
lea edx, [ebp - 0x1e54]
push edx
mov byte [ebp - 4], 0x24
call fcn.10024eb0
lea ecx, [ebp - 0x788]
call fcn.10007650
lea eax, [ebp - 0x3300]
push eax
mov byte [ebp - 4], 0x22
call fcn.10024eb0
lea ecx, [ebp - 0x5ce8]
push ecx
mov byte [ebp - 4], 0x21
call fcn.10020430
lea ecx, [ebp - 0x814]
call fcn.10007650
lea edx, [ebp - 0x5b70]
push edx
mov byte [ebp - 4], 0x1d
call fcn.10024eb0
lea ecx, [ebp - 0x76c]
call fcn.10007650
lea ecx, [ebp - 0x7f8]
call fcn.10007650
lea ecx, [ebp - 0x7c0]
call fcn.10007650
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d18]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov eax, dword [ebp - 0x5ba0]
push eax
call fcn.10046e92
add esp, 4
lea esi, [ebp - 0x5bec]
call fcn.1002b320
lea ecx, [ebp - 0x46c4]
push ecx
mov byte [ebp - 4], 0x15
call fcn.100072e0
lea ecx, [ebp - 0x68c]
call fcn.10007650
lea ecx, [ebp - 0x670]
call fcn.10007650
lea edx, [ebp - 0x5bdc]
push edx
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
lea esi, [ebp - 0x5c50]
call fcn.1000efc0
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d24]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov eax, dword [ebp - 0x5b8c]
push eax
jmp 0x1002139a
mov dword [ebp - 0x5cf8], eax
mov dword [ebp - 0x5cf4], eax
mov dword [ebp - 0x5cf0], eax
mov byte [ebp - 4], 0x30
mov edi, dword [ebp - 0x5cc8]
mov eax, edi
lea esi, [ebp - 0x5cf8]
call fcn.100076f0
push edi
push ebx
mov ebx, dword [ebp - 0x5cf8]
push ebx
call fcn.1004a3d0
mov dword [ebp - 4], 0x2f
mov edi, dword [ebp - 0x5b7c]
add esp, 0xc
cmp dword [edi], 2
sete al
test al, al
je 0x10022287
call fcn.1001ecf0
jmp 0x1002228c
call fcn.1001afa0
mov esi, dword [ebp - 0x5cf4]
mov edi, dword [ebp - 0x5ba8]
push 0
lea ecx, [ebp - 0x5cb8]
push ecx
sub esi, ebx
push esi
push ebx
push edi
mov dword [ebp - 0x5cb8], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x5cb8], esi
je 0x10022491
mov ecx, dword [ebp - 0x5be8]
mov ebx, dword [ebp - 0x5bec]
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov edi, edx
shr edi, 0x1f
xor esi, esi
add edi, edx
je 0x10022312
mov edi, edi
lea edx, [esi*8]
sub edx, esi
cmp dword [ebx + edx*8 + 0x30], 8
lea eax, [ebx + edx*8 + 0x1c]
jb 0x10022306
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
inc esi
cmp esi, edi
jb 0x100222f0
lea esi, [ebp - 0x5cf8]
call fcn.1000ff90
lea ecx, [ebp - 0x750]
call fcn.10007650
lea eax, [ebp - 0x1e54]
push eax
mov byte [ebp - 4], 0x24
call fcn.10024eb0
lea ecx, [ebp - 0x788]
call fcn.10007650
lea ecx, [ebp - 0x3300]
push ecx
mov byte [ebp - 4], 0x22
call fcn.10024eb0
lea edx, [ebp - 0x5ce8]
push edx
mov byte [ebp - 4], 0x21
call fcn.10020430
lea ecx, [ebp - 0x814]
call fcn.10007650
lea eax, [ebp - 0x5b70]
push eax
mov byte [ebp - 4], 0x1d
call fcn.10024eb0
lea ecx, [ebp - 0x76c]
call fcn.10007650
lea ecx, [ebp - 0x7f8]
call fcn.10007650
lea ecx, [ebp - 0x7c0]
call fcn.10007650
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d70]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov ecx, dword [ebp - 0x5ba0]
push ecx
call fcn.10046e92
add esp, 4
lea esi, [ebp - 0x5bec]
call fcn.1002b320
lea edx, [ebp - 0x46c4]
push edx
mov byte [ebp - 4], 0x15
call fcn.100072e0
lea ecx, [ebp - 0x68c]
call fcn.10007650
lea ecx, [ebp - 0x670]
call fcn.10007650
lea eax, [ebp - 0x5bdc]
push eax
mov byte [ebp - 4], 0xe
call fcn.100203d0
lea esi, [ebp - 0x5cac]
call fcn.1000de60
lea esi, [ebp - 0x5c30]
call fcn.10003000
lea esi, [ebp - 0x5c10]
call fcn.10003000
lea esi, [ebp - 0x5c40]
call fcn.10003000
lea esi, [ebp - 0x5bcc]
call fcn.10003000
lea esi, [ebp - 0x5c00]
call fcn.10003350
lea esi, [ebp - 0x5c20]
call fcn.1000f0c0
lea esi, [ebp - 0x5c50]
call fcn.1000efc0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d2c]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov ecx, dword [ebp - 0x5b8c]
push ecx
jmp 0x1002139a
lea esi, [ebp - 0x5cf8]
mov byte [ebp - 4], 0x28
call fcn.1000ff90
lea edx, [ebp - 0x76c]
push edx
push str.attach_file_path:
call fcn.1002f650
add esp, 4
push eax
call fcn.10011310
add esp, 8
mov esi, eax
call fcn.1000e7f0
lea eax, [ebp - 0x788]
push eax
push str.attach_expand_name:
call fcn.1002f650
add esp, 4
push eax
call fcn.10011310
add esp, 8
mov esi, eax
call fcn.1000e7f0
lea ecx, [ebp - 0x750]
push ecx
push str.attach_expanded_zip_name:
call fcn.1002f650
add esp, 4
push eax
call fcn.10011310
add esp, 8
mov esi, eax
call fcn.1000e7f0
lea ecx, [ebp - 0x750]
call fcn.10007650
lea edx, [ebp - 0x1e54]
push edx
mov byte [ebp - 4], 0x24
call fcn.10024eb0
mov eax, dword [ebp - 0x5b80]
push eax
lea esi, [ebp - 0x5ba4]
call fcn.10031190
mov ecx, esi
push eax
push ecx
lea esi, [ebp - 0x5d8c]
call fcn.10030530
lea edx, [ebp - 0x76c]
push edx
lea eax, [ebp - 0x9a8]
push eax
lea ecx, [ebp - 0x788]
call fcn.1002f930
add esp, 8
mov ecx, eax
lea ebx, [ebp - 0x5bec]
mov byte [ebp - 4], 0x36
call fcn.1002b1f0
lea esi, [ebp - 0x9a8]
call fcn.10025120
lea ecx, [ebp - 0x788]
call fcn.10007650
lea ecx, [ebp - 0x3300]
push ecx
mov byte [ebp - 4], 0x22
call fcn.10024eb0
lea edx, [ebp - 0x5ce8]
push edx
mov byte [ebp - 4], 0x21
call fcn.10020430
lea ecx, [ebp - 0x814]
call fcn.10007650
lea eax, [ebp - 0x5b70]
push eax
mov byte [ebp - 4], 0x1d
call fcn.10024eb0
lea ecx, [ebp - 0x76c]
call fcn.10007650
lea ecx, [ebp - 0x7f8]
call fcn.10007650
lea ecx, [ebp - 0x7c0]
mov byte [ebp - 4], 0x18
call fcn.10007650
inc dword [ebp - 0x5b94]
mov edi, dword [ebp - 0x5bec]
xor ebx, ebx
jmp 0x10021750
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
lea ebx, [ebx]
push ebx
push 0x1007dd48
call esi
test eax, eax
jne 0x100227c2
push 1
push 0x1007dd48
call esi
test eax, eax
je 0x100227cc
push 0xffffffffffffffff
push 0x1007dd48
call esi
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100227a0
mov byte [ebp - 4], 0x37
mov ebx, dword [ebp - 0x5be8]
xor esi, esi
jmp 0x100227e0
mov ecx, ebx
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x1002281c
lea ecx, [esi*8]
sub ecx, esi
lea eax, [edi + ecx*8]
call fcn.1002b500
inc esi
jmp 0x100227e0
mov dword [ebp - 4], 0x18
push 0xffffffffffffffff
push 0x1007dd48
xor esi, esi
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov dword [ebp - 0x5bb8], esi
mov dword [ebp - 0x5bb4], esi
mov dword [ebp - 0x5bb0], esi
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x5b8c]
mov eax, dword [ecx]
mov dword [ebp - 0x5b74], eax
cmp eax, ecx
je 0x10022a2a
mov ecx, dword [ebp - 0x5bfc]
sub ecx, dword [ebp - 0x5c00]
sar ecx, 5
mov dword [ebp - 0x5b80], ecx
jmp 0x1002288e
mov ecx, dword [ebp - 0x5b80]
mov eax, dword [ebp - 0x5b74]
xor esi, esi
mov dword [ebp - 0x5b7c], esi
cmp ecx, esi
jbe 0x1002292d
mov edx, dword [eax + 0x20]
mov edi, dword [ebp - 0x5c00]
mov ebx, dword [eax + 0x1c]
mov dword [ebp - 0x5b78], edx
add edi, 0x10
jmp 0x100228c6
mov eax, dword [ebp - 0x5b74]
cmp dword [ebp - 0x5b78], 0x10
jb 0x100228d4
mov ecx, dword [eax + 0xc]
jmp 0x100228d7
lea ecx, [eax + 0xc]
mov esi, dword [edi]
mov eax, esi
cmp esi, ebx
jb 0x100228e1
mov eax, ebx
cmp dword [edi + 4], 0x10
jb 0x100228ec
mov edx, dword [edi - 0x10]
jmp 0x100228ef
lea edx, [edi - 0x10]
call fcn.10001050
test eax, eax
jne 0x1002290a
cmp esi, ebx
jae 0x10022901
or eax, 0xffffffff
jmp 0x10022908
xor eax, eax
cmp esi, ebx
setne al
test eax, eax
sete al
test al, al
jne 0x1002299d
mov eax, dword [ebp - 0x5b7c]
inc eax
add edi, 0x20
mov dword [ebp - 0x5b7c], eax
cmp eax, dword [ebp - 0x5b80]
jb 0x100228c0
mov eax, dword [ebp - 0x5b74]
add eax, 0xc
push eax
lea ecx, [ebp - 0x5cc0]
lea esi, [ebp - 0x8e0]
mov dword [ebp - 0x5cc0], 0x17fbd
call fcn.1002f9b0
add esp, 4
mov ecx, eax
lea edi, [ebp - 0x5bb8]
mov byte [ebp - 4], 0x3a
call fcn.10002dd0
mov byte [ebp - 4], 0x39
cmp dword [ebp - 0x8cc], 0x10
jb 0x10022982
mov eax, dword [ebp - 0x8e0]
push eax
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x8cc], 0xf
mov dword [ebp - 0x8d0], 0
mov byte [ebp - 0x8e0], 0
mov edx, dword [ebp - 0x5b74]
cmp byte [edx + 0x29], 0
jne 0x100229ef
mov ecx, dword [edx + 8]
cmp byte [ecx + 0x29], 0
jne 0x100229ce
mov eax, dword [ecx]
cmp byte [eax + 0x29], 0
jne 0x100229ca
lea ebx, [ebx]
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0x29], 0
je 0x100229c0
mov edx, ecx
jmp 0x100229e9
mov eax, dword [edx + 4]
cmp byte [eax + 0x29], 0
jne 0x100229e7
cmp edx, dword [eax + 8]
jne 0x100229e7
mov edx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x29], 0
je 0x100229d7
mov edx, eax
mov dword [ebp - 0x5b74], edx
cmp edx, dword [ebp - 0x5b8c]
jne 0x10022880
mov eax, dword [ebp - 0x5bb8]
mov edi, dword [ebp - 0x5bb4]
cmp eax, edi
je 0x10022a2a
mov ecx, dword [ebp - 0x5cb4]
push ecx
push edi
mov ecx, edi
call fcn.10004df0
add esp, 8
mov esi, eax
call fcn.10003930
mov dword [ebp - 0x5bb4], esi
mov ebx, dword [ebp - 0x5bc8]
cmp dword [ebp - 0x5bcc], ebx
je 0x10022a61
mov edx, dword [ebp - 0x5cb4]
mov eax, dword [ebp - 0x5bcc]
push edx
push ebx
mov ecx, ebx
call fcn.100126a0
add esp, 8
mov edi, ebx
mov esi, eax
call fcn.10003be0
mov dword [ebp - 0x5bc8], esi
mov ebx, esi
push 0x15
mov esi, 0xf
push str.a_ivanov_mail_mail.ru
lea ecx, [ebp - 0x86c]
mov dword [ebp - 0x858], esi
mov dword [ebp - 0x85c], 0
mov byte [ebp - 0x86c], 0
call fcn.100035b0
mov dword [ebp - 0x850], 0x17fbd
lea ecx, [ebp - 0x86c]
lea edi, [ebp - 0x5bb8]
mov byte [ebp - 4], 0x3b
call fcn.10002dd0
cmp dword [ebp - 0x858], 0x10
jb 0x10022ac6
mov eax, dword [ebp - 0x86c]
push eax
call fcn.10046e92
add esp, 4
push 0
push 0x1007dd50
mov dword [ebp - 0x858], esi
mov dword [ebp - 0x85c], 0
mov byte [ebp - 0x86c], 0
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
test eax, eax
je 0x10022da7
mov esi, dword [ebp - 0x5bb8]
test esi, esi
je 0x10022b12
mov edi, dword [ebp - 0x5bb4]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d08]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov ecx, dword [ebp - 0x5ba0]
push ecx
call fcn.10046e92
mov esi, dword [ebp - 0x5bec]
add esp, 4
test esi, esi
je 0x10022b6d
mov edx, dword [ebp - 0x5d08]
mov ebx, dword [ebp - 0x5be8]
push edx
mov eax, esi
call fcn.10031540
push esi
call fcn.10046e92
mov ebx, dword [ebp - 0x5bc8]
add esp, 8
lea eax, [ebp - 0x46c4]
push eax
mov byte [ebp - 4], 0x15
call fcn.100072e0
mov esi, 8
cmp dword [ebp - 0x678], esi
jb 0x10022b99
mov ecx, dword [ebp - 0x68c]
push ecx
call fcn.10046e92
add esp, 4
xor edx, edx
mov dword [ebp - 0x678], 7
mov dword [ebp - 0x67c], 0
mov word [ebp - 0x68c], dx
cmp dword [ebp - 0x65c], esi
jb 0x10022bcd
mov eax, dword [ebp - 0x670]
push eax
call fcn.10046e92
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x65c], 7
mov dword [ebp - 0x660], 0
mov word [ebp - 0x670], cx
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x5bd8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5cd0]
lea esi, [ebp - 0x5bdc]
call fcn.1002cca0
mov edx, dword [ebp - 0x5bd8]
push edx
call fcn.10046e92
mov eax, dword [ebp - 0x5ca0]
add esp, 4
test eax, eax
je 0x10022c2b
push eax
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c30]
test esi, esi
je 0x10022c4b
mov edi, dword [ebp - 0x5c2c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c10]
test esi, esi
je 0x10022c6b
mov edi, dword [ebp - 0x5c0c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c40]
test esi, esi
je 0x10022c8b
mov edi, dword [ebp - 0x5c3c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
cmp dword [ebp - 0x5bcc], 0
je 0x10022cac
mov esi, dword [ebp - 0x5bcc]
mov edi, ebx
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
cmp dword [ebp - 0x5c00], 0
je 0x10022cd1
mov esi, dword [ebp - 0x5c00]
mov edi, dword [ebp - 0x5bfc]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c20]
test esi, esi
je 0x10022cf8
mov eax, dword [ebp - 0x5cd0]
mov ebx, dword [ebp - 0x5c1c]
push eax
mov eax, esi
call fcn.10012850
push esi
call fcn.10046e92
add esp, 8
mov esi, dword [ebp - 0x5c50]
test esi, esi
je 0x10022d20
mov ecx, dword [ebp - 0x5cd0]
mov edx, dword [ebp - 0x5c4c]
push ecx
push edx
mov eax, esi
call fcn.10012780
push esi
call fcn.10046e92
add esp, 0xc
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d54]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov eax, dword [ebp - 0x5b8c]
push eax
call fcn.10046e92
mov esi, 8
add esp, 4
cmp dword [ebp - 0x640], esi
jb 0x10022d6a
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x640], 7
xor edx, edx
mov dword [ebp - 0x644], 0
mov word [ebp - 0x654], dx
cmp dword [ebp - 0x694], esi
jb 0x100213b8
mov eax, dword [ebp - 0x6a8]
push eax
call fcn.10046e92
add esp, 4
jmp 0x100213b8
xor edi, edi
mov dword [ebp - 0x5c84], edi
mov dword [ebp - 0x5c80], edi
mov dword [ebp - 0x5c7c], edi
mov dword [ebp - 0x5c74], edi
mov dword [ebp - 0x5c70], edi
mov dword [ebp - 0x5c6c], edi
mov byte [ebp - 4], 0x40
mov ecx, dword [ebp - 0x5c0c]
sub ecx, dword [ebp - 0x5c10]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov dword [ebp - 0x5b94], ebx
je 0x100236a9
mov esi, dword [ebp - 0x5bb4]
sub esi, dword [ebp - 0x5bb8]
mov dword [ebp - 0x5bbc], edi
sar esi, 5
mov dword [ebp - 0x5b7c], esi
cmp esi, edi
jle 0x100236a9
mov dword [ebp - 0x5b74], edi
jmp 0x10022e30
mov edi, dword [ebp - 0x5b74]
add edi, dword [ebp - 0x5bb8]
push 1
push 0x1006b1c8
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0x5b78], edi
mov dword [ebp - 0x838], 0xf
mov dword [ebp - 0x83c], 0
mov byte [ebp - 0x84c], 0
call fcn.100035b0
lea eax, [ebp - 0x84c]
push eax
mov edx, edi
lea ecx, [ebp - 0x5c64]
mov byte [ebp - 4], 0x41
call fcn.1000df00
mov byte [ebp - 4], 0x43
cmp dword [ebp - 0x838], 0x10
jb 0x10022ea3
mov ecx, dword [ebp - 0x84c]
push ecx
call fcn.10046e92
add esp, 4
mov edi, dword [ebp - 0x5c60]
mov ebx, dword [ebp - 0x5c64]
mov ecx, edi
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x838], 0xf
mov dword [ebp - 0x83c], 0
mov byte [ebp - 0x84c], 0
cmp eax, 1
ja 0x10022f19
xor eax, eax
mov byte [ebp - 4], 0x40
cmp ebx, eax
je 0x10022f02
mov eax, ebx
call fcn.10003be0
push ebx
call fcn.10046e92
add esp, 4
xor eax, eax
mov dword [ebp - 0x5c64], eax
mov dword [ebp - 0x5c60], eax
mov dword [ebp - 0x5c5c], eax
jmp 0x1002358f
mov edx, dword [0x1007b080]
mov eax, dword [edx + 0xc]
mov ecx, 0x1007b080
call eax
add eax, 0x10
mov dword [ebp - 0x5bf0], eax
mov byte [ebp - 4], 0x44
cmp dword [ebx + 0x14], 0x10
jb 0x10022f40
mov edx, dword [ebx]
jmp 0x10022f42
mov edx, ebx
lea ebx, [ebp - 0x5bf0]
call fcn.1002a1d0
mov edi, ebx
call fcn.1002a210
mov edi, dword [ebp - 0x5bf0]
xor ebx, ebx
mov eax, edi
mov dword [ebp - 0x6e8], 0xf
mov dword [ebp - 0x6ec], ebx
mov byte [ebp - 0x6fc], bl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10022f77
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x6fc]
call fcn.100035b0
mov byte [ebp - 4], 0x45
mov dword [ebp - 0x5b80], ebx
cmp dword [ebp - 0x5b94], ebx
jbe 0x1002318b
mov esi, dword [ebp - 0x5c10]
lea esp, [esp]
mov edx, dword [0x1007b080]
mov eax, dword [edx + 0xc]
mov ecx, 0x1007b080
call eax
add eax, 0x10
mov dword [ebp - 0x5c90], eax
mov byte [ebp - 4], 0x46
cmp dword [esi + 0x14], 0x10
jb 0x10022fd7
mov edx, dword [esi]
jmp 0x10022fd9
mov edx, esi
cmp edx, ebx
jne 0x10022fe1
xor eax, eax
jmp 0x10022fef
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10022fe6
sub eax, edi
mov edi, eax
push edx
lea eax, [ebp - 0x5c90]
call fcn.1002de80
lea edi, [ebp - 0x5c90]
call fcn.1002a210
mov edi, dword [ebp - 0x5c90]
mov eax, edi
mov dword [ebp - 0x704], 0xf
mov dword [ebp - 0x708], ebx
mov byte [ebp - 0x718], bl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10023030
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x718]
call fcn.100035b0
cmp dword [ebp - 0x704], 0x10
mov eax, dword [ebp - 0x718]
jae 0x1002305b
lea eax, [ebp - 0x718]
mov ecx, dword [ebp - 0x708]
push ecx
push eax
lea edx, [ebp - 0x6fc]
push edx
call fcn.10003180
cmp eax, 0xffffffff
jne 0x100230e3
cmp dword [ebp - 0x704], 0x10
jb 0x1002308c
mov eax, dword [ebp - 0x718]
push eax
call fcn.10046e92
add esp, 4
lea eax, [edi - 0x10]
mov dword [ebp - 0x704], 0xf
mov dword [ebp - 0x708], ebx
mov byte [ebp - 0x718], bl
mov byte [ebp - 4], 0x45
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100230c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x5b80]
inc eax
add esi, 0x1c
mov dword [ebp - 0x5b80], eax
cmp eax, dword [ebp - 0x5b94]
jb 0x10022fb0
jmp 0x1002318b
cmp dword [ebp - 0x704], 0x10
jb 0x100230fb
mov ecx, dword [ebp - 0x718]
push ecx
call fcn.10046e92
add esp, 4
mov esi, 0xf
add edi, 0xfffffff0
mov dword [ebp - 0x704], esi
mov dword [ebp - 0x708], ebx
mov byte [ebp - 0x718], bl
mov byte [ebp - 4], 0x45
lea edx, [edi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x10023132
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
mov ebx, dword [ebp - 0x5b78]
mov ecx, ebx
lea edi, [ebp - 0x5c84]
call fcn.10003030
push ebx
lea ecx, [ebp - 0x5d1c]
push ecx
lea ebx, [ebp - 0x5bb8]
call fcn.1002b6f0
mov eax, dword [ebp - 0x5bb4]
sub eax, dword [ebp - 0x5bb8]
mov ecx, dword [ebp - 0x5bbc]
sub dword [ebp - 0x5b74], 0x20
dec ecx
sar eax, 5
mov dword [ebp - 0x5bbc], ecx
mov dword [ebp - 0x5b7c], eax
cmp ecx, eax
jge 0x100235b0
xor ebx, ebx
mov edx, dword [0x1007b080]
mov eax, dword [edx + 0xc]
mov ecx, 0x1007b080
call eax
add eax, 0x10
mov dword [ebp - 0x5c54], eax
mov byte [ebp - 4], 0x47
mov eax, dword [ebp - 0x5c64]
cmp dword [eax + 0x30], 0x10
jb 0x100231b9
mov edi, dword [eax + 0x1c]
jmp 0x100231bc
lea edi, [eax + 0x1c]
cmp edi, ebx
jne 0x100231c4
xor eax, eax
jmp 0x100231d9
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x100231d0
sub eax, edx
push edi
mov edi, eax
lea eax, [ebp - 0x5c54]
call fcn.1002de80
lea edi, [ebp - 0x5c54]
call fcn.1002a210
push 1
push 0x1006b1c8
lea ecx, [ebp - 0x830]
mov dword [ebp - 0x81c], 0xf
mov dword [ebp - 0x820], ebx
mov byte [ebp - 0x830], bl
call fcn.100035b0
lea ecx, [ebp - 0x830]
mov byte [ebp - 4], 0x48
mov edx, dword [ebp - 0x5c54]
push ecx
lea esi, [ebp - 0x7dc]
call fcn.1002fa50
add esp, 4
mov byte [ebp - 4], 0x4a
cmp dword [ebp - 0x81c], 0x10
jb 0x10023255
mov edx, dword [ebp - 0x830]
push edx
call fcn.10046e92
add esp, 4
mov ecx, dword [ebp - 0x5c2c]
mov edi, dword [ebp - 0x5c30]
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov esi, edx
shr esi, 0x1f
add esi, edx
mov dword [ebp - 0x81c], 0xf
mov dword [ebp - 0x820], ebx
mov byte [ebp - 0x830], bl
mov dword [ebp - 0x5ba8], ebx
je 0x100233ce
mov dword [ebp - 0x5b80], edi
mov edi, edi
mov eax, dword [0x1007b080]
mov edx, dword [eax + 0xc]
mov ecx, 0x1007b080
call edx
add eax, 0x10
mov dword [ebp - 0x5c88], eax
mov byte [ebp - 4], 0x4b
mov edx, dword [ebp - 0x5b80]
cmp dword [edx + 0x14], 0x10
jb 0x100232ca
mov edx, dword [edx]
cmp edx, ebx
jne 0x100232d2
xor eax, eax
jmp 0x100232e0
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x100232d7
sub eax, edi
mov edi, eax
push edx
lea eax, [ebp - 0x5c88]
call fcn.1002de80
lea edi, [ebp - 0x5c88]
call fcn.1002a210
mov edi, dword [ebp - 0x5c88]
mov eax, edi
mov dword [ebp - 0x720], 0xf
mov dword [ebp - 0x724], ebx
mov byte [ebp - 0x734], bl
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x10023320
sub eax, edx
push eax
push edi
lea ecx, [ebp - 0x734]
call fcn.100035b0
cmp dword [ebp - 0x720], 0x10
mov eax, dword [ebp - 0x734]
jae 0x1002334b
lea eax, [ebp - 0x734]
mov ecx, dword [ebp - 0x724]
push ecx
push eax
lea edx, [ebp - 0x7dc]
push edx
call fcn.10003180
cmp eax, 0xffffffff
jne 0x100233d8
cmp dword [ebp - 0x720], 0x10
jb 0x1002337c
mov eax, dword [ebp - 0x734]
push eax
call fcn.10046e92
add esp, 4
lea eax, [edi - 0x10]
mov dword [ebp - 0x720], 0xf
mov dword [ebp - 0x724], ebx
mov byte [ebp - 0x734], bl
mov byte [ebp - 4], 0x4a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100233b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x5ba8]
add dword [ebp - 0x5b80], 0x1c
inc eax
mov dword [ebp - 0x5ba8], eax
cmp eax, esi
jb 0x100232a0
mov esi, 0xf
jmp 0x1002348f
cmp dword [ebp - 0x720], 0x10
jb 0x100233f0
mov ecx, dword [ebp - 0x734]
push ecx
call fcn.10046e92
add esp, 4
mov esi, 0xf
lea eax, [edi - 0x10]
mov dword [ebp - 0x720], esi
mov dword [ebp - 0x724], ebx
mov byte [ebp - 0x734], bl
mov byte [ebp - 4], 0x4a
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10023427
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x5b78]
lea edi, [ebp - 0x5c74]
call fcn.10003030
mov ecx, dword [ebp - 0x5bb8]
mov edi, dword [ebp - 0x5b74]
lea eax, [edi + ecx]
push eax
lea edx, [ebp - 0x5d14]
push edx
lea ebx, [ebp - 0x5bb8]
call fcn.1002b6f0
mov eax, dword [ebp - 0x5bb4]
sub eax, dword [ebp - 0x5bb8]
mov ecx, dword [ebp - 0x5bbc]
dec ecx
sar eax, 5
sub edi, 0x20
mov dword [ebp - 0x5bbc], ecx
mov dword [ebp - 0x5b74], edi
mov dword [ebp - 0x5b7c], eax
cmp ecx, eax
jge 0x100235cc
xor ebx, ebx
mov edi, 0x10
cmp dword [ebp - 0x7c8], edi
jb 0x100234ab
mov eax, dword [ebp - 0x7dc]
push eax
call fcn.10046e92
add esp, 4
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x5c54]
add eax, 0xfffffff0
mov dword [ebp - 0x7c8], esi
mov dword [ebp - 0x7cc], ebx
mov byte [ebp - 0x7dc], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100234e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x6e8], edi
jb 0x100234fa
mov ecx, dword [ebp - 0x6fc]
push ecx
call fcn.10046e92
add esp, 4
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x5bf0]
add eax, 0xfffffff0
mov dword [ebp - 0x6e8], esi
mov dword [ebp - 0x6ec], ebx
mov byte [ebp - 0x6fc], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10023532
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x40
mov esi, dword [ebp - 0x5c64]
mov edi, esi
cmp esi, dword [ebp - 0x5c60]
je 0x1002356e
cmp dword [edi + 0x14], 0x10
jb 0x10023557
mov eax, dword [edi]
push eax
call fcn.10046e92
add esp, 4
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], ebx
mov byte [edi], bl
add edi, 0x1c
cmp edi, dword [ebp - 0x5c60]
jne 0x10023546
push esi
call fcn.10046e92
mov esi, dword [ebp - 0x5b7c]
add esp, 4
mov dword [ebp - 0x5c64], ebx
mov dword [ebp - 0x5c60], ebx
mov dword [ebp - 0x5c5c], ebx
mov eax, dword [ebp - 0x5bbc]
add dword [ebp - 0x5b74], 0x20
inc eax
mov dword [ebp - 0x5bbc], eax
cmp eax, esi
jl 0x10022e30
jmp 0x100236a3
cmp dword [ebp - 0x6e8], 0x10
jb 0x100235c8
mov ecx, dword [ebp - 0x6fc]
push ecx
call fcn.10046e92
add esp, 4
xor ebx, ebx
jmp 0x10023639
mov edi, 0x10
cmp dword [ebp - 0x7c8], edi
jb 0x100235e8
mov ecx, dword [ebp - 0x7dc]
push ecx
call fcn.10046e92
add esp, 4
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x5c54]
xor ebx, ebx
add eax, 0xfffffff0
mov dword [ebp - 0x7c8], esi
mov dword [ebp - 0x7cc], ebx
mov byte [ebp - 0x7dc], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10023622
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x6e8], edi
jb 0x10023639
mov ecx, dword [ebp - 0x6fc]
push ecx
call fcn.10046e92
add esp, 4
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x5bf0]
add eax, 0xfffffff0
or ecx, 0xffffffff
lea edx, [eax + 0xc]
mov byte [ebp - 0x6fc], bl
mov dword [ebp - 0x6ec], ebx
mov dword [ebp - 0x6e8], esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10023671
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0x40
mov esi, dword [ebp - 0x5c64]
mov edi, dword [ebp - 0x5c60]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
mov dword [ebp - 0x5c5c], ebx
mov dword [ebp - 0x5c60], ebx
mov dword [ebp - 0x5c64], ebx
add esp, 4
mov ebx, dword [ebp - 0x5b94]
mov edi, dword [ebp - 0x5bb4]
sub edi, dword [ebp - 0x5bb8]
sar edi, 5
push edi
push str.npapi:_AllCheckList__:_send_address.size__:
push 0x1007ca40
call fcn.100044c0
add esp, 8
push eax
call fcn.10029fe0
push eax
call fcn.10001290
add esp, 4
test edi, edi
jle 0x1002370c
mov esi, dword [ebp - 0x5bb8]
push esi
push 0x1006f448
push 0x1007ca40
call fcn.100044c0
add esp, 8
push eax
call fcn.100115b0
push eax
call fcn.10001290
add esp, 0xc
add esi, 0x20
dec edi
jne 0x100236e4
push ebx
push str.npapi:_AllCheckList__:_no_send_address_names.size__:
push 0x1007ca40
call fcn.100044c0
add esp, 8
push eax
call fcn.10029fe0
push eax
call fcn.10001290
add esp, 4
test ebx, ebx
je 0x10023768
mov edi, dword [ebp - 0x5c10]
mov esi, ebx
lea ebx, [ebx]
push edi
push 0x1006f448
push 0x1007ca40
call fcn.100044c0
add esp, 8
push eax
call fcn.100115b0
push eax
call fcn.10001290
add esp, 0xc
add edi, 0x1c
dec esi
jne 0x10023740
mov ecx, dword [ebp - 0x5c80]
mov esi, dword [ebp - 0x5c84]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
push edi
push str.npapi:_AllCheckList__:_total_deleted_name_address_:
push 0x1007ca40
mov dword [ebp - 0x5b78], edi
call fcn.100044c0
add esp, 8
push eax
call fcn.10029fe0
push eax
call fcn.10001290
add esp, 4
test edi, edi
je 0x100237dd
push esi
push 0x1006f448
push 0x1007ca40
call fcn.100044c0
add esp, 8
push eax
call fcn.100115b0
push eax
call fcn.10001290
add esp, 0xc
add esi, 0x1c
dec edi
jne 0x100237b5
mov ecx, dword [ebp - 0x5c70]
mov esi, dword [ebp - 0x5c74]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
push edi
push str.npapi:_AllCheckList__:_total_deleted_domain_address_:
push 0x1007ca40
mov dword [ebp - 0x5ba8], edi
call fcn.100044c0
add esp, 8
push eax
call fcn.10029fe0
push eax
call fcn.10001290
add esp, 4
test edi, edi
je 0x10023858
lea ebx, [ebx]
push esi
push 0x1006f448
push 0x1007ca40
call fcn.100044c0
add esp, 8
push eax
call fcn.100115b0
push eax
call fcn.10001290
add esp, 0xc
add esi, 0x1c
dec edi
jne 0x10023830
mov eax, dword [0x1007dd88]
mov ecx, dword [0x1007dd8c]
cmp eax, ecx
je 0x100238b5
mov edx, dword [ebp - 0x5d14]
push edx
push ecx
call fcn.10004df0
mov ebx, eax
mov eax, dword [0x1007dd8c]
add esp, 8
mov esi, eax
mov edi, ebx
cmp ebx, eax
je 0x100238af
cmp dword [edi + 0x14], 0x10
jb 0x10023897
mov eax, dword [edi]
push eax
call fcn.10046e92
add esp, 4
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov byte [edi], 0
add edi, 0x20
cmp edi, esi
jne 0x10023886
mov dword [0x1007dd8c], ebx
lea eax, [ebp - 0x5c50]
mov ecx, 0x1007dd58
call fcn.1002b0e0
lea eax, [ebp - 0x5bec]
push eax
mov eax, 0x1007dd68
call fcn.1002b360
lea eax, [ebp - 0x5bb8]
mov esi, 0x1007dd78
call fcn.1002b5e0
mov ecx, dword [ebp - 0x5cac]
mov eax, dword [ebp - 0x5ca4]
mov edx, dword [ebp - 0x5ca8]
mov dword [0x1007dda8], ecx
mov dword [0x1007ddb0], eax
lea eax, [ebp - 0x5ca0]
mov ecx, 0x1007ddb4
mov dword [0x1007ddac], edx
call fcn.10004f20
mov eax, dword [0x1007ddc8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d28]
mov esi, 0x1007ddc4
call fcn.1002cca0
lea ebx, [ebp - 0x5bdc]
mov eax, esi
call fcn.1002cd60
mov ecx, dword [ebp - 0x5b78]
mov edx, dword [ebp - 0x5ba8]
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x670]
mov dword [0x1007ddf0], ecx
push eax
mov ecx, 0x1007ddd4
mov dword [0x1007ddf4], edx
call fcn.100083c0
mov ecx, dword [ebp - 0x5bc8]
sub ecx, dword [ebp - 0x5bcc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10023a15
mov ebx, dword [ebp - 0x5bcc]
mov dword [ebp - 0x5ba8], 0x17fbd
mov dword [ebp - 0x5b78], eax
jmp 0x100239b0
lea ecx, [ebp - 0x5ba8]
mov edx, ebx
lea esi, [ebp - 0x900]
call fcn.1002faa0
mov ecx, eax
mov edi, 0x1007dd88
mov byte [ebp - 4], 0x4c
call fcn.10002dd0
mov byte [ebp - 4], 0x40
cmp dword [ebp - 0x8ec], 0x10
jb 0x100239ef
mov ecx, dword [ebp - 0x900]
push ecx
call fcn.10046e92
add esp, 4
add ebx, 0x1c
dec dword [ebp - 0x5b78]
mov dword [ebp - 0x8ec], 0xf
mov dword [ebp - 0x8f0], 0
mov byte [ebp - 0x900], 0
jne 0x100239b0
lea edx, [ebp - 0x5c40]
push edx
mov eax, 0x1007dd98
call fcn.10012d70
xor edi, edi
push edi
push edi
push edi
push 0x10028400
push edi
mov byte [0x1007dd4c], 1
push edi
mov byte [0x1007dd4d], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, edi
jne 0x10023db9
cmp dword [ebp - 0x5c74], edi
je 0x10023a9a
mov esi, dword [ebp - 0x5c74]
mov ebx, dword [ebp - 0x5c70]
cmp esi, ebx
je 0x10023a8b
cmp dword [esi + 0x14], 0x10
jb 0x10023a77
mov eax, dword [esi]
push eax
call fcn.10046e92
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], edi
mov byte [esi], 0
add esi, 0x1c
cmp esi, ebx
jne 0x10023a66
mov eax, dword [ebp - 0x5c74]
push eax
call fcn.10046e92
add esp, 4
cmp dword [ebp - 0x5c84], edi
je 0x10023ae6
mov esi, dword [ebp - 0x5c84]
mov ebx, dword [ebp - 0x5c80]
cmp esi, ebx
je 0x10023ad7
cmp dword [esi + 0x14], 0x10
jb 0x10023ac3
mov eax, dword [esi]
push eax
call fcn.10046e92
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], edi
mov byte [esi], 0
add esi, 0x1c
cmp esi, ebx
jne 0x10023ab2
mov ecx, dword [ebp - 0x5c84]
push ecx
call fcn.10046e92
add esp, 4
mov edi, dword [ebp - 0x5bb8]
test edi, edi
je 0x10023b32
mov ebx, dword [ebp - 0x5bb4]
mov esi, edi
cmp edi, ebx
je 0x10023b29
lea esp, [esp]
cmp dword [esi + 0x14], 0x10
jb 0x10023b11
mov eax, dword [esi]
push eax
call fcn.10046e92
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
add esi, 0x20
cmp esi, ebx
jne 0x10023b00
push edi
call fcn.10046e92
add esp, 4
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d10]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov edx, dword [ebp - 0x5ba0]
push edx
call fcn.10046e92
mov esi, dword [ebp - 0x5bec]
add esp, 4
test esi, esi
je 0x10023b87
mov eax, dword [ebp - 0x5d10]
mov ebx, dword [ebp - 0x5be8]
push eax
mov eax, esi
call fcn.10031540
push esi
call fcn.10046e92
add esp, 8
lea ecx, [ebp - 0x46c4]
push ecx
mov byte [ebp - 4], 0x15
call fcn.100072e0
mov esi, 8
cmp dword [ebp - 0x678], esi
jb 0x10023bb3
mov edx, dword [ebp - 0x68c]
push edx
call fcn.10046e92
add esp, 4
xor eax, eax
mov ebx, 7
mov dword [ebp - 0x678], ebx
mov dword [ebp - 0x67c], 0
mov word [ebp - 0x68c], ax
cmp dword [ebp - 0x65c], esi
jb 0x10023be8
mov ecx, dword [ebp - 0x670]
push ecx
call fcn.10046e92
add esp, 4
xor edx, edx
mov dword [ebp - 0x65c], ebx
mov dword [ebp - 0x660], 0
mov word [ebp - 0x670], dx
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0x5bd8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5cd8]
lea esi, [ebp - 0x5bdc]
call fcn.1002cca0
mov eax, dword [ebp - 0x5bd8]
push eax
call fcn.10046e92
mov eax, dword [ebp - 0x5ca0]
add esp, 4
test eax, eax
je 0x10023c42
push eax
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c30]
test esi, esi
je 0x10023c62
mov edi, dword [ebp - 0x5c2c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c10]
test esi, esi
je 0x10023c82
mov edi, dword [ebp - 0x5c0c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c40]
test esi, esi
je 0x10023ca2
mov edi, dword [ebp - 0x5c3c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5bcc]
test esi, esi
je 0x10023cc2
mov edi, dword [ebp - 0x5bc8]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c00]
test esi, esi
je 0x10023ce2
mov edi, dword [ebp - 0x5bfc]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c20]
test esi, esi
je 0x10023d0e
mov ecx, dword [ebp - 0x5cd8]
mov ebx, dword [ebp - 0x5c1c]
push ecx
mov eax, esi
call fcn.10012850
push esi
call fcn.10046e92
add esp, 8
mov ebx, 7
mov esi, dword [ebp - 0x5c50]
test esi, esi
je 0x10023d36
mov edx, dword [ebp - 0x5cd8]
mov eax, dword [ebp - 0x5c4c]
push edx
push eax
mov eax, esi
call fcn.10012780
push esi
call fcn.10046e92
add esp, 0xc
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d38]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov ecx, dword [ebp - 0x5b8c]
push ecx
call fcn.10046e92
mov esi, 8
add esp, 4
cmp dword [ebp - 0x640], esi
jb 0x10023d80
mov edx, dword [ebp - 0x654]
push edx
call fcn.10046e92
add esp, 4
xor eax, eax
mov dword [ebp - 0x640], ebx
mov dword [ebp - 0x644], 0
mov word [ebp - 0x654], ax
cmp dword [ebp - 0x694], esi
jb 0x100213b8
mov ecx, dword [ebp - 0x6a8]
push ecx
call fcn.10046e92
add esp, 4
jmp 0x100213b8
mov dword [ebp - 0x6cc], 0xf
mov dword [ebp - 0x6d0], edi
mov byte [ebp - 0x6e0], 0
mov bl, 0x50
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x5b8c]
mov esi, dword [eax]
mov dword [ebp - 0x5b78], esi
cmp esi, eax
je 0x10023e59
cmp esi, dword [eax]
jne 0x10023dfd
push 1
push 0x1006e7ec
lea ecx, [ebp - 0x6e0]
call fcn.10008b30
lea eax, [esi + 0xc]
push eax
lea edx, [ebp - 0x91c]
push edx
call fcn.10011200
add esp, 8
push 0xffffffffffffffff
push edi
push eax
lea ecx, [ebp - 0x6e0]
mov byte [ebp - 4], 0x51
call fcn.10009120
mov byte [ebp - 4], bl
cmp dword [ebp - 0x908], 0x10
jb 0x10023e3e
mov eax, dword [ebp - 0x91c]
push eax
call fcn.10046e92
add esp, 4
lea eax, [ebp - 0x5b78]
call fcn.1002d150
mov esi, dword [ebp - 0x5b78]
mov eax, dword [ebp - 0x5b8c]
cmp esi, eax
jne 0x10023de7
push 6
mov esi, 0xf
push str._null_
lea ecx, [ebp - 0x6c4]
mov dword [ebp - 0x6b0], esi
mov dword [ebp - 0x6b4], edi
mov byte [ebp - 0x6c4], 0
call fcn.100035b0
mov eax, dword [ebp - 0x5c8c]
mov byte [ebp - 4], 0x52
cmp dword [eax + 0x10], 5
jne 0x10023ea6
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
push ecx
push edx
lea ecx, [ebp - 0x6c4]
call fcn.100035b0
mov al, byte [0x1007dd35]
cmp al, 1
je 0x10024583
mov cl, byte [0x1007dd36]
cmp cl, 1
je 0x10024583
push 0xffffffffffffffff
push edi
lea edx, [ebp - 0x6e0]
push edx
mov ecx, 0x1007c528
call fcn.100034c0
push 0xffffffffffffffff
push edi
lea eax, [ebp - 0x6c4]
push eax
mov ecx, 0x1007c544
call fcn.100034c0
push edi
push edi
push edi
push 0x100277d0
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ebx, 0x10
cmp eax, edi
jne 0x10024246
cmp dword [ebp - 0x6b0], ebx
jb 0x10023f1e
mov ecx, dword [ebp - 0x6c4]
push ecx
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x6b0], esi
mov dword [ebp - 0x6b4], edi
mov byte [ebp - 0x6c4], 0
cmp dword [ebp - 0x6cc], ebx
jb 0x10023f48
mov edx, dword [ebp - 0x6e0]
push edx
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x6cc], esi
mov esi, dword [ebp - 0x5c74]
mov dword [ebp - 0x6d0], edi
mov byte [ebp - 0x6e0], 0
cmp esi, edi
je 0x10023f7d
mov edi, dword [ebp - 0x5c70]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov esi, dword [ebp - 0x5c84]
cmp esi, edi
je 0x10023f9f
mov edi, dword [ebp - 0x5c80]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov esi, dword [ebp - 0x5bb8]
cmp esi, edi
je 0x10023fc1
mov edi, dword [ebp - 0x5bb4]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d00]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov eax, dword [ebp - 0x5ba0]
push eax
call fcn.10046e92
mov esi, dword [ebp - 0x5bec]
add esp, 4
cmp esi, edi
je 0x10024018
mov ecx, dword [ebp - 0x5d00]
mov ebx, dword [ebp - 0x5be8]
push ecx
mov eax, esi
call fcn.10031540
push esi
call fcn.10046e92
add esp, 8
xor edi, edi
lea edx, [ebp - 0x46c4]
push edx
mov byte [ebp - 4], 0x15
call fcn.100072e0
mov esi, 8
cmp dword [ebp - 0x678], esi
jb 0x10024044
mov eax, dword [ebp - 0x68c]
push eax
call fcn.10046e92
add esp, 4
xor ecx, ecx
mov ebx, 7
mov dword [ebp - 0x678], ebx
mov dword [ebp - 0x67c], edi
mov word [ebp - 0x68c], cx
cmp dword [ebp - 0x65c], esi
jb 0x10024075
mov edx, dword [ebp - 0x670]
push edx
call fcn.10046e92
add esp, 4
xor eax, eax
mov dword [ebp - 0x65c], ebx
mov dword [ebp - 0x660], 0
mov word [ebp - 0x670], ax
mov byte [ebp - 4], 0x57
mov eax, dword [ebp - 0x5bd8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5ccc]
lea esi, [ebp - 0x5bdc]
call fcn.1002cca0
mov ecx, dword [ebp - 0x5bd8]
push ecx
call fcn.10046e92
mov eax, dword [ebp - 0x5ca0]
add esp, 4
test eax, eax
je 0x100240cf
push eax
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c30]
test esi, esi
je 0x100240ef
mov edi, dword [ebp - 0x5c2c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c10]
test esi, esi
je 0x1002410f
mov edi, dword [ebp - 0x5c0c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c40]
test esi, esi
je 0x1002412f
mov edi, dword [ebp - 0x5c3c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5bcc]
test esi, esi
je 0x1002414f
mov edi, dword [ebp - 0x5bc8]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c00]
test esi, esi
je 0x1002416f
mov edi, dword [ebp - 0x5bfc]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c20]
test esi, esi
je 0x1002419b
mov edx, dword [ebp - 0x5ccc]
mov ebx, dword [ebp - 0x5c1c]
push edx
mov eax, esi
call fcn.10012850
push esi
call fcn.10046e92
add esp, 8
mov ebx, 7
mov esi, dword [ebp - 0x5c50]
test esi, esi
je 0x100241c3
mov eax, dword [ebp - 0x5ccc]
mov ecx, dword [ebp - 0x5c4c]
push eax
push ecx
mov eax, esi
call fcn.10012780
push esi
call fcn.10046e92
add esp, 0xc
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d50]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov edx, dword [ebp - 0x5b8c]
push edx
call fcn.10046e92
mov esi, 8
add esp, 4
cmp dword [ebp - 0x640], esi
jb 0x1002420d
mov eax, dword [ebp - 0x654]
push eax
call fcn.10046e92
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x640], ebx
mov dword [ebp - 0x644], 0
mov word [ebp - 0x654], cx
cmp dword [ebp - 0x694], esi
jb 0x100213b8
mov edx, dword [ebp - 0x6a8]
push edx
call fcn.10046e92
add esp, 4
jmp 0x100213b8
cmp dword [ebp - 0x6b0], ebx
jb 0x1002425d
mov eax, dword [ebp - 0x6c4]
push eax
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x6b0], esi
mov dword [ebp - 0x6b4], edi
mov byte [ebp - 0x6c4], 0
cmp dword [ebp - 0x6cc], ebx
jb 0x10024287
mov ecx, dword [ebp - 0x6e0]
push ecx
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x6cc], esi
mov esi, dword [ebp - 0x5c74]
mov dword [ebp - 0x6d0], edi
mov byte [ebp - 0x6e0], 0
cmp esi, edi
je 0x100242bc
mov edi, dword [ebp - 0x5c70]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov esi, dword [ebp - 0x5c84]
cmp esi, edi
je 0x100242de
mov edi, dword [ebp - 0x5c80]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov esi, dword [ebp - 0x5bb8]
cmp esi, edi
je 0x10024300
mov edi, dword [ebp - 0x5bb4]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov byte [ebp - 4], 0x59
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5d0c]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov edx, dword [ebp - 0x5ba0]
push edx
call fcn.10046e92
mov esi, dword [ebp - 0x5bec]
add esp, 4
cmp esi, edi
je 0x10024357
mov eax, dword [ebp - 0x5d0c]
mov ebx, dword [ebp - 0x5be8]
push eax
mov eax, esi
call fcn.10031540
push esi
call fcn.10046e92
add esp, 8
xor edi, edi
lea ecx, [ebp - 0x46c4]
push ecx
mov byte [ebp - 4], 0x15
call fcn.100072e0
mov esi, 8
cmp dword [ebp - 0x678], esi
jb 0x10024383
mov edx, dword [ebp - 0x68c]
push edx
call fcn.10046e92
add esp, 4
xor eax, eax
mov ebx, 7
mov dword [ebp - 0x678], ebx
mov dword [ebp - 0x67c], edi
mov word [ebp - 0x68c], ax
cmp dword [ebp - 0x65c], esi
jb 0x100243b4
mov ecx, dword [ebp - 0x670]
push ecx
call fcn.10046e92
add esp, 4
xor edx, edx
mov dword [ebp - 0x65c], ebx
mov dword [ebp - 0x660], 0
mov word [ebp - 0x670], dx
mov byte [ebp - 4], 0x5a
mov eax, dword [ebp - 0x5bd8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5cbc]
lea esi, [ebp - 0x5bdc]
call fcn.1002cca0
mov eax, dword [ebp - 0x5bd8]
push eax
call fcn.10046e92
mov eax, dword [ebp - 0x5ca0]
add esp, 4
test eax, eax
je 0x1002440e
push eax
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c30]
test esi, esi
je 0x1002442e
mov edi, dword [ebp - 0x5c2c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c10]
test esi, esi
je 0x1002444e
mov edi, dword [ebp - 0x5c0c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c40]
test esi, esi
je 0x1002446e
mov edi, dword [ebp - 0x5c3c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5bcc]
test esi, esi
je 0x1002448e
mov edi, dword [ebp - 0x5bc8]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c00]
test esi, esi
je 0x100244ae
mov edi, dword [ebp - 0x5bfc]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c20]
test esi, esi
je 0x100244da
mov ecx, dword [ebp - 0x5cbc]
mov ebx, dword [ebp - 0x5c1c]
push ecx
mov eax, esi
call fcn.10012850
push esi
call fcn.10046e92
add esp, 8
mov ebx, 7
mov esi, dword [ebp - 0x5c50]
test esi, esi
je 0x10024502
mov edx, dword [ebp - 0x5cbc]
mov eax, dword [ebp - 0x5c4c]
push edx
push eax
mov eax, esi
call fcn.10012780
push esi
call fcn.10046e92
add esp, 0xc
mov byte [ebp - 4], 0x5b
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d74]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov ecx, dword [ebp - 0x5b8c]
push ecx
call fcn.10046e92
mov esi, 8
add esp, 4
cmp dword [ebp - 0x640], esi
jb 0x1002454c
mov edx, dword [ebp - 0x654]
push edx
call fcn.10046e92
add esp, 4
xor eax, eax
mov dword [ebp - 0x640], ebx
mov dword [ebp - 0x644], 0
mov word [ebp - 0x654], ax
cmp dword [ebp - 0x694], esi
jb 0x1002457c
mov ecx, dword [ebp - 0x6a8]
push ecx
call fcn.10046e92
add esp, 4
mov al, 1
jmp 0x100213ba
mov ebx, 0x10
cmp dword [ebp - 0x6b0], ebx
jb 0x1002459f
mov edx, dword [ebp - 0x6c4]
push edx
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x6b0], esi
mov dword [ebp - 0x6b4], edi
mov byte [ebp - 0x6c4], 0
cmp dword [ebp - 0x6cc], ebx
jb 0x100245c9
mov eax, dword [ebp - 0x6e0]
push eax
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x6cc], esi
mov esi, dword [ebp - 0x5c74]
mov dword [ebp - 0x6d0], edi
mov byte [ebp - 0x6e0], 0
cmp esi, edi
je 0x100245fe
mov edi, dword [ebp - 0x5c70]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov esi, dword [ebp - 0x5c84]
cmp esi, edi
je 0x10024620
mov edi, dword [ebp - 0x5c80]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov esi, dword [ebp - 0x5bb8]
cmp esi, edi
je 0x10024642
mov edi, dword [ebp - 0x5bb4]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
xor edi, edi
mov byte [ebp - 4], 0x53
mov eax, dword [ebp - 0x5ba0]
mov ecx, dword [eax]
push eax
push ecx
lea esi, [ebp - 0x5cfc]
lea eax, [ebp - 0x5ba4]
call fcn.1002d1a0
mov ecx, dword [ebp - 0x5ba0]
push ecx
call fcn.10046e92
mov esi, dword [ebp - 0x5bec]
add esp, 4
cmp esi, edi
je 0x10024699
mov edx, dword [ebp - 0x5cfc]
mov ebx, dword [ebp - 0x5be8]
push edx
mov eax, esi
call fcn.10031540
push esi
call fcn.10046e92
add esp, 8
xor edi, edi
lea eax, [ebp - 0x46c4]
push eax
mov byte [ebp - 4], 0x15
call fcn.100072e0
mov esi, 8
cmp dword [ebp - 0x678], esi
jb 0x100246c5
mov ecx, dword [ebp - 0x68c]
push ecx
call fcn.10046e92
add esp, 4
xor edx, edx
mov ebx, 7
mov dword [ebp - 0x678], ebx
mov dword [ebp - 0x67c], edi
mov word [ebp - 0x68c], dx
cmp dword [ebp - 0x65c], esi
jb 0x100246f6
mov eax, dword [ebp - 0x670]
push eax
call fcn.10046e92
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x65c], ebx
mov dword [ebp - 0x660], 0
mov word [ebp - 0x670], cx
mov byte [ebp - 4], 0x54
mov eax, dword [ebp - 0x5bd8]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5cb0]
lea esi, [ebp - 0x5bdc]
call fcn.1002cca0
mov edx, dword [ebp - 0x5bd8]
push edx
call fcn.10046e92
mov eax, dword [ebp - 0x5ca0]
add esp, 4
test eax, eax
je 0x10024750
push eax
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c30]
test esi, esi
je 0x10024770
mov edi, dword [ebp - 0x5c2c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c10]
test esi, esi
je 0x10024790
mov edi, dword [ebp - 0x5c0c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c40]
test esi, esi
je 0x100247b0
mov edi, dword [ebp - 0x5c3c]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5bcc]
test esi, esi
je 0x100247d0
mov edi, dword [ebp - 0x5bc8]
mov eax, esi
call fcn.10003be0
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c00]
test esi, esi
je 0x100247f0
mov edi, dword [ebp - 0x5bfc]
mov eax, esi
call fcn.10003930
push esi
call fcn.10046e92
add esp, 4
mov esi, dword [ebp - 0x5c20]
test esi, esi
je 0x1002481c
mov eax, dword [ebp - 0x5cb0]
mov ebx, dword [ebp - 0x5c1c]
push eax
mov eax, esi
call fcn.10012850
push esi
call fcn.10046e92
add esp, 8
mov ebx, 7
mov esi, dword [ebp - 0x5c50]
test esi, esi
je 0x10024844
mov ecx, dword [ebp - 0x5cb0]
mov edx, dword [ebp - 0x5c4c]
push ecx
push edx
mov eax, esi
call fcn.10012780
push esi
call fcn.10046e92
add esp, 0xc
mov byte [ebp - 4], 0x55
mov eax, dword [ebp - 0x5b8c]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0x5d3c]
lea esi, [ebp - 0x5b90]
call fcn.1002d090
mov eax, dword [ebp - 0x5b8c]
push eax
call fcn.10046e92
mov esi, 8
add esp, 4
cmp dword [ebp - 0x640], esi
jb 0x1002488e
mov ecx, dword [ebp - 0x654]
push ecx
call fcn.10046e92
add esp, 4
mov dword [ebp - 0x640], ebx
jmp 0x10022d74
mov edx, eax
mov ecx, str.AllCheckList
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x100248c0
test bl, bl
je 0x100248bc
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x100248c0
add ecx, 2
add edx, 2
test bl, bl
jne 0x100248a0
xor ecx, ecx
jmp 0x100248c5
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10024ae9
mov ebx, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push 1
push 0x1007dd50
call ebx
test eax, eax
je 0x10024907
push str.error:_npapi:_AllCheckList__:_check_thread_work
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov esi, eax
call fcn.10002ae0
push 0xffffffffffffffff
push 0x1007dd50
call ebx
jmp 0x100213b8
push str.info:_npapi:_AllCheckList__:_check_thread_complete
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov esi, eax
call fcn.10002ae0
mov cl, byte [0x1007dd4c]
test cl, cl
jne 0x10024951
push str.error:_npapi:_AllCheckList__:_data_not_ready
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov esi, eax
call fcn.10002ae0
push 0xffffffffffffffff
push 0x1007dd50
call ebx
jmp 0x100213b8
push str.npapi:_AllCheckList__:_data_ready
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov esi, eax
call fcn.10002ae0
lea ecx, [ebp - 0x7a4]
call fcn.100029f0
lea edx, [ebp - 0x7a4]
push edx
push 0x1007ddd4
push 0x1007ddc4
push 0x1007dda8
push 0x1007dd98
mov esi, 0x5c
push 0x1007dd88
mov dword [ebp - 4], esi
push 0x1007dd58
mov edx, 0x1007dd78
mov ecx, 0x1007dd68
mov byte [ebp - 4], 0x5d
call fcn.10025840
add esp, 0x1c
test al, al
jne 0x100249ee
push str.error:_npapi:_AllCheckList__:_CreateJsonDataObject___return_false
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov esi, eax
call fcn.10002ae0
push 0xffffffffffffffff
push 0x1007dd50
call ebx
lea ecx, [ebp - 0x7a4]
call fcn.10002a50
jmp 0x100213b8
push 0xffffffffffffffff
push 0x1007dd50
mov dword [ebp - 4], esi
call ebx
mov eax, dword [ebp - 0x794]
call fcn.1001f850
mov esi, eax
test esi, esi
je 0x100249de
cmp dword [ebp - 0x790], 0x10
mov eax, dword [ebp - 0x7a4]
jae 0x10024a20
lea eax, [ebp - 0x7a4]
mov ecx, dword [ebp - 0x794]
push ecx
push eax
push esi
call fcn.1004a3d0
mov edx, dword [ebp - 0x794]
push str.success:_npapi:_AllCheckList__:_result_string_created:
push 0x1007ca40
mov dword [edi], 5
mov dword [edi + 0xc], edx
mov dword [edi + 8], esi
call fcn.100044c0
add esp, 0x14
mov esi, eax
call fcn.10002ae0
lea eax, [ebp - 0x7a4]
push eax
push 0x1007ca40
call fcn.100115b0
add esp, 8
mov esi, eax
call fcn.10002ae0
push str.info:_npapi:_Invoke__:_AllCheckList:_NPAPI_TEST_MODE_version__not_for_work_
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov esi, eax
call fcn.10002ae0
push str.info:_npapi:_Invoke__:_AllCheckList:_press_key_for_exit...
push 0x1007ca40
call fcn.100044c0
add esp, 8
mov esi, eax
call fcn.10002ae0
call fcn.10049e92
lea ecx, [ebp - 0x7a4]
call fcn.10002a50
mov al, 1
jmp 0x100213ba
mov edx, eax
mov ecx, str.Remove
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x10024b10
test bl, bl
je 0x10024b0c
mov bl, byte [ecx + 1]
cmp bl, byte [edx + 1]
jne 0x10024b10
add ecx, 2
add edx, 2
test bl, bl
jne 0x10024af0
xor ecx, ecx
jmp 0x10024b15
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x10024d3d
call sym.NPCODEPROJECT.dll_UnRegistryPlugin
xor ecx, ecx
push 0x208
push ecx
lea edx, [ebp - 0x42a]
push edx
mov word [ebp - 0x42c], cx
call fcn.1004acc0
mov ecx, dword [0x1007dd3c]
add esp, 0xc
push 0x104
lea eax, [ebp - 0x42c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x100213b8
lea ecx, [ebp - 0x8a4]
call fcn.100075e0
lea edx, [ebp - 0x8a4]
push edx
lea edx, [ebp - 0x42c]
mov dword [ebp - 4], 0x5f
call fcn.10007680
mov ebx, 1
lea edi, [ebp - 0x8a4]
call fcn.1002b9c0
mov esi, eax
cmp esi, 0xffffffff
jne 0x10024ba3
mov ecx, edi
jmp 0x100213b3
lea ecx, [ebp - 0x888]
call fcn.100075e0
lea eax, [ebp - 0x5d34]
push eax
lea ecx, [ebp - 0x8a4]
mov byte [ebp - 4], 0x60
call fcn.100084c0
mov ecx, dword [eax]
lea edx, [ebp - 0x5d04]
lea esi, [ecx + esi*2]
push edx
lea ecx, [ebp - 0x8a4]
call fcn.100084c0
mov eax, dword [eax]
push esi
push eax
lea ecx, [ebp - 0x888]
call fcn.1002f610
push 0x1006e9b4
lea ecx, [ebp - 0x938]
call fcn.10007600
push eax
mov eax, 0x1007b1a8
lea edi, [ebp - 0x970]
mov byte [ebp - 4], 0x61
call fcn.10009430
add esp, 4
push eax
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0x62
call fcn.100076b0
mov ecx, edi
call fcn.10007650
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 0x60
call fcn.10007650
cmp dword [ebp - 0x874], 8
mov eax, dword [ebp - 0x888]
jae 0x10024c4d
lea eax, [ebp - 0x888]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push 0
push 0x1007dd48
call esi
test eax, eax
jne 0x10024c83
push 1
push 0x1007dd48
call esi
test eax, eax
je 0x10024c89
push 0xffffffffffffffff
push 0x1007dd48
call esi
push 1
call edi
jmp 0x10024c60
xor edi, edi
mov byte [ebp - 4], 0x63
xor ebx, ebx
mov ecx, dword [0x1007ddfc]
mov esi, dword [0x1007ddf8]
sub ecx, esi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp edi, ecx
jae 0x10024cd0
cmp dword [esi + ebx + 0x30], 8
lea eax, [esi + ebx + 0x1c]
jb 0x10024cc3
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
inc edi
add ebx, 0x38
jmp 0x10024c91
mov edi, 0x60
mov dword [ebp - 4], edi
mov esi, 0x1007ddf8
mov byte [ebp - 4], 0x65
call fcn.1002b5a0
mov dword [ebp - 4], edi
push 0xffffffffffffffff
push 0x1007dd48
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5d04], esp
push 0x1007c560
call fcn.100075b0
call fcn.10029420
add esp, 0x1c
lea ecx, [ebp - 0x888]
call fcn.10007650
lea ecx, [ebp - 0x8a4]
call fcn.10007650
mov al, 1
jmp 0x100213ba
mov ecx, eax
mov eax, str.Report
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10024d64
test dl, dl
je 0x10024d60
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10024d64
add eax, 2
add ecx, 2
test dl, dl
jne 0x10024d44
xor eax, eax
jmp 0x10024d69
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100213b8
mov dl, byte [0x1007dd37]
cmp dl, 1
je 0x100213b8
mov ecx, 3
cmp dword [ebp + 0x10], ecx
jne 0x100213b8
mov eax, esi
cmp dword [eax], ecx
jne 0x100213b8
cmp dword [eax + 0x10], ecx
jne 0x100213b8
cmp dword [eax + 0x20], 5
jne 0x100213b8
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0x18]
mov dword [0x1007dd44], ecx
mov ecx, dword [eax + 0x2c]
mov dword [0x1007dd40], edx
mov edx, dword [eax + 0x28]
push ecx
push edx
mov ecx, 0x1007c544
call fcn.100035b0
push 0
push 0
push 0
push 0x10028850
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
setne al
jmp 0x100213ba