Function at 0x1003e6f5
Capabilities:
Create directory
Delete file
Get disk information
Get disk size
Open clipboard
Parse pe header
Resolve function by parsing pe exports
Write clipboard data

Disassembly:
push 0xffffffffffffffff
push 0x100b8e8a
mov eax, dword fs:[0]
push eax
sub esp, 0x530
mov eax, dword [0x100d3fe0]
xor eax, esp
mov dword [esp + 0x52c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100d3fe0]
xor eax, esp
push eax
lea eax, [esp + 0x544]
mov dword fs:[0], eax
mov edi, dword [esp + 0x554]
mov ebp, ecx
xor ebx, ebx
mov dword [esp + 0x24], edi
cmp dword [ebp + 0x10ec4], ebx
jne 0x10041158
mov eax, dword [0x100d78f4]
mov ecx, dword [eax + 0x10488]
push edi
call fcn.10037c10
mov esi, eax
push esi
call fcn.100330c0
add esp, 4
test eax, eax
je 0x10041158
mov ecx, dword [esi + 0x28]
push ecx
call fcn.100330c0
add esp, 4
test eax, eax
je 0x10041158
mov dword [ebp + 0x1047c], esi
mov eax, dword [esi + 0x5c]
lea edx, [esp + 0x18]
push edx
push eax
mov ecx, edi
mov dword [esi + 0x6c], ebx
mov dword [esp + 0x20], 0x2000
call fcn.10017a00
cmp eax, ebx
je 0x10041158
lea ecx, [esp + 0x7c]
call fcn.10018f70
mov ecx, dword [esi + 0x5c]
push ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x550], ebx
call fcn.10018c20
test al, al
jne 0x1003da1f
mov eax, dword [0x100d78f4]
cmp dword [eax + 0x60], ebx
je 0x1003da11
mov edx, dword [eax + 0x60]
mov ecx, dword [edx + 8]
push edi
call fcn.10018010
mov eax, dword [edi]
mov edx, dword [eax + 4]
mov ecx, edi
call edx
jmp case.0x1003f4ff.111
mov eax, dword [esp + 0x7c]
add eax, 0x33
cmp eax, 0xac
ja case.0x1003da38.49
movzx eax, byte [eax + 0x100411bc]
jmp dword [eax*4 + 0x10041184]
push edi
call fcn.10038c30
add esp, 4
jmp case.0x1003f4ff.111
push ebx
push ebx
call fcn.10033570
mov ecx, eax
shr ecx, 0x18
push ecx
mov edx, eax
shr edx, 0x10
movzx ecx, dl
push ecx
mov edx, eax
shr edx, 8
movzx ecx, dl
movzx edx, al
push ecx
push edx
lea eax, [esp + 0xdc]
push str._d._d._d._d
push eax
call fcn.100807c6
add esp, 0x20
lea ecx, [esp + 0xc4]
push ecx
mov ecx, dword [0x100d78f4]
add ecx, 0x6c
call fcn.10009830
push ebx
lea ecx, [esp + 0x80]
mov dword [esi + 0x38], edi
mov dword [esi + 0x28], edi
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 1
call fcn.10018ae0
push eax
lea ecx, [esp + 0x18]
call fcn.10001bc0
push 0x100bad1e
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x554], 2
call fcn.10009570
test al, al
je 0x1003db39
mov eax, dword [esp + 0x14]
push eax
call fcn.1008116f
mov ecx, dword [esi + 0x78]
mov edx, dword [ecx]
add esp, 4
mov edi, eax
mov eax, dword [edx + 4]
push ebx
call eax
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esi + 0x78]
call fcn.10017410
mov ecx, dword [esi + 0x78]
push edi
call fcn.10022590
mov esi, dword [esi + 0x78]
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
lea ecx, [esp + 0x14]
jmp 0x10041136
lea ecx, [esp + 0x124]
call fcn.10018f70
push 0x100be07c
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 3
mov dword [esp + 0x128], 0x51
call fcn.10022600
push 0x100be078
lea ecx, [esp + 0x128]
call fcn.10022600
mov ecx, dword [0x100d78f4]
mov eax, dword [ecx + 0x10490]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
mov edx, dword [0x100d78f4]
mov eax, dword [edx + 0x10494]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
mov eax, dword [0x100d78f4]
mov eax, dword [eax + 0x10498]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
mov ecx, dword [edi + 8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
push ecx
lea eax, [esp + 0x28]
push eax
call fcn.100332f0
add esp, 8
mov ecx, dword [esp + 0x24]
push ecx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 4
call fcn.10022600
push 0x100be428
lea ecx, [esp + 0x128]
call fcn.10022600
mov edx, dword [0x100d78f4]
mov eax, dword [edx + 0x70]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
mov eax, dword [0x100d78f4]
mov eax, dword [eax + 0x68]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
mov ecx, dword [0x100d78f4]
mov eax, dword [ecx + 0x6c]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
mov eax, dword [ebp + 0x10ebc]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
mov eax, dword [0x100d78f4]
lea ecx, [esp + 0x124]
cmp dword [eax + 0x50], ebx
je 0x1003dc85
mov edx, dword [eax + 0x104b4]
push edx
jmp 0x1003dc87
push 0xffffffffffffffff
call fcn.100344e0
add ebp, 0x10ea0
push ebp
lea ecx, [esp + 0x128]
call fcn.10022600
mov eax, dword [0x100d78f4]
mov eax, dword [eax + 0x104b0]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
push 1
lea ecx, [esp + 0x128]
push ecx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0x24]
call fcn.10001b90
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 2
call fcn.100189e0
lea ecx, [esp + 0x14]
jmp 0x10041136
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
jmp case.0x1003f4ff.111
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push 0x100be07c
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x554], 5
call fcn.10033be0
test al, al
je 0x1003dd90
lea ecx, [esp + 0x124]
call fcn.10018f70
push 0x100be424
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 6
mov dword [esp + 0x128], 0x72
call fcn.10022600
push 1
lea eax, [esp + 0x128]
push eax
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 5
call fcn.100189e0
lea ecx, [esp + 0x1c]
jmp 0x1003f104
lea ecx, [esp + 0x124]
mov dword [esi + 0x38], edi
mov dword [esi + 0x28], edi
call fcn.10018f70
lea ecx, [esp + 0x124]
push ecx
mov byte [esp + 0x550], 7
call fcn.10034d70
add esp, 4
push 1
lea edx, [esp + 0x128]
push edx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0
call fcn.100189e0
jmp case.0x1003f4ff.111
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
cmp eax, ebx
je case.0x1003da38.49
mov ecx, dword [0x100d78f4]
push eax
push str.DATA_UPLOAD_TIME
add ecx, 0x10410
call fcn.10023e80
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
jmp case.0x1003da38.49
mov eax, dword [0x100d302c]
mov dword [esp + 0x18], eax
mov ecx, dword [0x100d3014]
mov dword [esp + 0x28], ecx
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 9
call fcn.10018ae0
push eax
lea ecx, [ebp + 0x104c8]
call fcn.10009830
mov edx, dword [0x100d78f4]
add edx, 0x104c8
push edx
lea ecx, [esp + 0x2c]
call fcn.10034330
mov eax, dword [esp + 0x28]
mov ecx, dword [0x100d78f4]
push eax
push str.KEYWORD
add ecx, 0x10410
call fcn.10023fd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
mov ecx, dword [0x100d78f4]
call fcn.1003d620
lea ecx, [esp + 0x28]
call fcn.10001810
jmp 0x1003f100
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add eax, 0xfffffffc
add esp, 4
cmp eax, 8
ja case.0x1003da38.49
jmp dword [eax*4 + 0x1004126c]
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x18]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0xa
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push str.__ALL__
lea ecx, [esp + 0x18]
mov bl, 0xb
push ecx
mov byte [esp + 0x554], bl
call fcn.10009570
test al, al
je 0x1003df60
mov edx, dword [0x100d78f4]
add edx, 0x70
push edx
lea eax, [esp + 0x18]
push eax
call fcn.10009510
test al, al
jne 0x1003e59b
push 0
lea ecx, [esp + 0x80]
lea edi, [ebp + 0x10464]
call fcn.10018ae0
push eax
mov ecx, edi
call fcn.10009830
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov dword [ebp + 0x10454], eax
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov dword [ebp + 0x10458], eax
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov dword [ebp + 0x1045c], eax
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov dword [ebp + 0x10460], eax
call fcn.10018ae0
push eax
call fcn.1008116f
mov dword [ebp + 0x10474], eax
mov eax, dword [ebp + 0x10454]
add esp, 4
test eax, eax
jne 0x1003e028
mov eax, dword [ebp + 4]
push 0x7532
push eax
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x1003e03a
mov ecx, dword [ebp + 4]
push 0
push eax
push 0x7532
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x54]
call fcn.10006410
mov eax, dword [eax]
mov ecx, dword [0x100d78f4]
push eax
push str.CAPTURE_TYPE
add ecx, 0x10410
mov byte [esp + 0x554], 0xc
call fcn.10023fd0
lea ecx, [esp + 0x50]
mov byte [esp + 0x54c], bl
call fcn.10001810
mov ecx, dword [ebp + 0x10454]
push ecx
mov ecx, dword [0x100d78f4]
push str.CAPTURE_INTERVAL
add ecx, 0x10410
call fcn.10023e80
mov edx, dword [ebp + 0x10458]
mov ecx, dword [0x100d78f4]
push edx
push str.CAPTURE_X
add ecx, 0x10410
call fcn.10023e80
mov eax, dword [ebp + 0x1045c]
mov ecx, dword [0x100d78f4]
push eax
push str.CAPTURE_Y
add ecx, 0x10410
call fcn.10023e80
mov ecx, dword [ebp + 0x10474]
push ecx
mov ecx, dword [0x100d78f4]
push 0x100be368
add ecx, 0x10410
call fcn.10023e80
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
lea ecx, [esp + 0x1c]
call fcn.10001b90
lea ecx, [esp + 0x14]
jmp 0x1003f104
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
mov edx, dword [0x100d78f4]
add edx, 0x70
push edx
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x554], 0xd
call fcn.10009510
test al, al
je 0x1003e14e
lea ecx, [esp + 0x28]
jmp 0x1003f104
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
mov ecx, dword [0x100d78f4]
push eax
add ecx, 0x104a0
call fcn.10009830
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
mov ecx, dword [0x100d78f4]
push eax
add ecx, 0x104a4
call fcn.10009830
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
mov ecx, dword [0x100d78f4]
push eax
add ecx, 0x104a8
call fcn.10009830
mov ecx, dword [0x100d78f4]
add ecx, 0x104a0
lea esi, [ebp + 0x10ebc]
push ecx
mov ecx, esi
call fcn.100097c0
push 0x100be364
mov ecx, esi
call fcn.10009970
mov edx, dword [0x100d78f4]
add edx, 0x104a4
push edx
mov ecx, esi
call fcn.100099b0
push 0x100be364
mov ecx, esi
call fcn.10009970
mov eax, dword [0x100d78f4]
add eax, 0x104a8
push eax
mov ecx, esi
call fcn.100099b0
push 0x100be364
mov ecx, esi
call fcn.10009970
mov ecx, dword [0x100d78f4]
mov eax, dword [ecx + 0x104a0]
push eax
lea ecx, [esp + 0x34]
call fcn.10006410
mov edx, dword [esp + 0x30]
mov ecx, dword [0x100d78f4]
push edx
push str.STAFF_ID
add ecx, 0x10410
mov byte [esp + 0x554], 0xe
call fcn.10023fd0
mov eax, dword [0x100d78f4]
add eax, 0x104a4
push eax
lea ecx, [esp + 0x34]
call fcn.10034330
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [0x100d78f4]
push str.STAFF_NAME
add ecx, 0x10410
call fcn.10023fd0
mov edx, dword [0x100d78f4]
add edx, 0x104a8
push edx
lea ecx, [esp + 0x34]
call fcn.10034330
mov eax, dword [esp + 0x30]
mov ecx, dword [0x100d78f4]
push eax
push str.STAFF_DEPT
add ecx, 0x10410
call fcn.10023fd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
lea ecx, [esp + 0x30]
call fcn.10001810
jmp 0x1004113b
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
mov ecx, dword [0x100d78f4]
add ecx, 0x70
push ecx
lea edx, [esp + 0x2c]
push edx
mov byte [esp + 0x554], 0xf
call fcn.10009510
test al, al
je 0x1003e307
lea ecx, [esp + 0x28]
jmp 0x1003f104
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push ebx
lea ecx, [esp + 0x80]
lea edi, [ebp + 0x104cc]
call fcn.10018ae0
push eax
mov ecx, edi
call fcn.10009830
mov ecx, dword [0x100d78f4]
call fcn.1003d620
mov edi, dword [edi]
push edi
lea ecx, [esp + 0x20]
call fcn.10006410
mov eax, dword [esp + 0x1c]
mov ecx, dword [0x100d78f4]
push eax
push 0x100be308
add ecx, 0x10410
mov byte [esp + 0x554], 0x10
call fcn.10023fd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
lea ecx, [esp + 0x1c]
call fcn.10001810
lea ecx, [esp + 0x28]
jmp 0x1003f104
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x11
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x12
call fcn.10018ae0
push eax
call fcn.1008116f
mov ecx, dword [0x100d78f4]
add esp, 4
add ecx, 0x70
push ecx
lea edx, [esp + 0x2c]
push edx
mov edi, eax
call fcn.10009510
test al, al
je 0x1003e40c
lea ecx, [esp + 0x1c]
call fcn.10001b90
lea ecx, [esp + 0x28]
jmp 0x1003f104
push edi
lea ecx, [ebp + 0x10368]
call fcn.1000bfd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
cmp edi, ebx
je 0x1003e42f
push 0x100be304
jmp 0x1003e434
push 0x100be300
push str.ENABLE_NETWORK
call fcn.10023fd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
lea ecx, [esp + 0x1c]
call fcn.10001b90
lea ecx, [esp + 0x28]
jmp 0x1003f104
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10006410
mov ecx, dword [0x100d78f4]
lea eax, [esp + 0x28]
push eax
add ecx, 0x104bc
mov byte [esp + 0x550], 0x13
call fcn.100362e0
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [0x100d78f4]
push str.SERVER_IP
add ecx, 0x10410
call fcn.10023fd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
lea ecx, [esp + 0x28]
mov byte [esp + 0x54c], 0
call fcn.10001810
jmp case.0x1003da38.49
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x18]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x14
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x15
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x16
call fcn.10018ae0
push eax
call fcn.1008116f
mov edx, dword [0x100d78f4]
add esp, 4
add edx, 0x70
mov edi, eax
push edx
lea eax, [esp + 0x18]
push eax
call fcn.10009510
test al, al
je 0x1003e580
lea ecx, [esp + 0x28]
call fcn.10001b90
lea ecx, [esp + 0x1c]
call fcn.10001b90
lea ecx, [esp + 0x14]
jmp 0x1003f104
mov ecx, dword [esp + 0x28]
push edi
push 0x100be2c0
push ecx
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x28]
call fcn.10001b90
lea ecx, [esp + 0x1c]
call fcn.10001b90
lea ecx, [esp + 0x14]
jmp 0x1004113f
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x17
call fcn.10018ae0
push eax
lea ecx, [esp + 0x28]
call fcn.10001bc0
mov esi, dword [0x100d78f4]
lea edx, [esi + 0x70]
push edx
lea eax, [esp + 0x20]
push eax
mov byte [esp + 0x554], 0x18
call fcn.10018980
test al, al
je 0x1003e61c
lea ecx, [esi + 0x6c]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.10018980
test al, al
je 0x1003e61c
mov ecx, esi
call fcn.10039770
lea ecx, [esp + 0x24]
call fcn.10001b90
lea ecx, [esp + 0x1c]
jmp 0x1004113f
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x18]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x19
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push str.__ALL__
lea eax, [esp + 0x18]
push eax
mov byte [esp + 0x554], 0x1a
call fcn.10009570
test al, al
je 0x1003e69b
mov ecx, dword [0x100d78f4]
add ecx, 0x70
push ecx
lea edx, [esp + 0x18]
push edx
call fcn.10009510
test al, al
jne 0x1003e59b
mov dword [ebp + 0x10454], ebx
mov ecx, dword [0x100d78f4]
push ebx
push str.CAPTURE_INTERVAL
add ecx, 0x10410
call fcn.10023e80
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
mov eax, dword [ebp + 4]
push 0x7532
push eax
call dword [sym.imp.USER32.dll_KillTimer]
lea ecx, [esp + 0x1c]
call fcn.10001b90
lea ecx, [esp + 0x14]
jmp 0x1003f104
mov dword [esi + 0x38], edi
mov dword [esi + 0x28], edi
jmp case.0x1003f4ff.111
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov dword [esi + 0x50], eax
call fcn.10018ae0
push eax
lea ecx, [esp + 0x34]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x1b
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x1c
call fcn.10018ae0
push eax
lea ecx, [esp + 0x18]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x1d
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov edi, eax
call fcn.10018ae0
push eax
lea ecx, [esp + 0x40]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x1e
call fcn.10018ae0
push eax
lea ecx, [esp + 0x24]
call fcn.10001bc0
mov ebx, dword [0x100d78f4]
add ebx, 0x104cc
push ebx
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x554], 0x1f
call fcn.10009510
test al, al
je 0x1003e811
lea ecx, [esp + 0x20]
push ecx
mov ecx, ebx
call fcn.100097c0
mov ecx, dword [0x100d78f4]
call fcn.1003d620
mov ebx, dword [0x100d78f4]
push 0x100bad1e
add ebx, 0x104b0
push ebx
call fcn.10011cf0
test al, al
je 0x1003e88b
lea edx, [esp + 0x3c]
push edx
mov ecx, ebx
call fcn.100097c0
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x20]
call fcn.10006410
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [0x100d78f4]
push str.EXP_CHECK
add ecx, 0x10410
mov byte [esp + 0x554], 0x20
call fcn.10023fd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
lea ecx, [esp + 0x1c]
mov byte [esp + 0x54c], 0x1f
call fcn.10001810
xor eax, eax
cmp edi, eax
je 0x1003e8d4
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
call fcn.1008200e
mov ecx, dword [0x100d78f4]
mov eax, edi
sub eax, dword [esp + 0x4c]
add esp, 4
push eax
add ecx, 0x10410
call fcn.10023ab0
sub edi, dword [esp + 0x48]
mov ecx, dword [0x100d78f4]
push edi
add ecx, 0x103d4
call fcn.10023ab0
mov ebx, dword [0x100d78f4]
lea ecx, [esp + 0x14]
push ecx
lea edi, [ebx + 0x104c8]
push edi
call fcn.10009510
test al, al
je 0x1003e968
lea edx, [esp + 0x14]
push edx
mov ecx, edi
call fcn.100097c0
mov eax, dword [0x100d3014]
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x550], 0x21
call fcn.10034330
mov edx, dword [esp + 0x28]
mov ecx, dword [0x100d78f4]
push edx
push str.KEYWORD
add ecx, 0x10410
call fcn.10023fd0
mov ecx, dword [0x100d78f4]
add ecx, 0x10410
call fcn.10028940
mov ecx, dword [0x100d78f4]
call fcn.1003d620
lea ecx, [esp + 0x28]
mov byte [esp + 0x54c], 0x1f
call fcn.10001810
mov ebx, dword [0x100d78f4]
cmp dword [ebx + 0x50], 0
je 0x1003e9f9
lea ecx, [esp + 0x124]
call fcn.10018f70
mov eax, dword [0x100d78f4]
mov dword [esp + 0x124], 0x5d
mov eax, dword [eax + 0x1049c]
push eax
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x22
call fcn.10022600
mov ecx, dword [0x100d78f4]
mov edx, dword [ecx + 0x104b4]
push edx
lea ecx, [esp + 0x128]
call fcn.100344e0
push 1
lea eax, [esp + 0x128]
push eax
mov ecx, esi
call fcn.10019460
mov ecx, dword [0x100d78f4]
mov dword [ecx + 0x50], 0
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0x1f
call fcn.100189e0
jmp 0x1003ea93
push 0x100bad1e
lea edx, [esp + 0x34]
push edx
call fcn.10009570
test al, al
je 0x1003ea93
lea edi, [ebx + 0x1049c]
push edi
lea eax, [esp + 0x34]
push eax
call fcn.10009510
test al, al
je 0x1003ea83
lea ecx, [esp + 0x30]
push ecx
mov ecx, edi
call fcn.100097c0
mov edx, dword [0x100d3014]
mov dword [esp + 0x28], edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x550], 0x23
call fcn.10034330
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [0x100d78f4]
push str.FU_INTER_ID
add ecx, 0x10410
call fcn.10023fd0
lea ecx, [esp + 0x28]
mov byte [esp + 0x54c], 0x1f
call fcn.10001810
mov ebx, dword [0x100d78f4]
lea edx, [esp + 0x30]
push edx
lea ecx, [ebx + 0x10498]
call fcn.100097c0
lea ecx, [esp + 0x20]
call fcn.10001b90
lea ecx, [esp + 0x3c]
call fcn.10001b90
lea ecx, [esp + 0x14]
call fcn.10001b90
lea ecx, [esp + 0x18]
call fcn.10001b90
lea ecx, [esp + 0x30]
jmp 0x1003f104
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x18]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x24
call fcn.10018ae0
push eax
lea ecx, [esp + 0x34]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x25
call fcn.10018ae0
push eax
call fcn.1008116f
mov dword [ebp + 0x104b4], eax
add esp, 4
lea eax, [esp + 0x14]
mov ebx, 1
push eax
lea ecx, [ebp + 0x5c]
mov dword [ebp + 0x50], ebx
call fcn.100097c0
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10488]
push edi
mov dword [ebp + 0x58], ebx
call fcn.10037cf0
mov esi, eax
test esi, esi
je 0x1003eb7b
mov eax, dword [esi + 0x78]
test eax, eax
je 0x1003eb5e
mov ecx, dword [eax + 4]
cmp dword [ecx + 0x7c], 0x1bb
jne 0x1003eb7b
mov ecx, eax
call fcn.10017390
test al, al
je 0x1003eb89
lea ecx, [esp + 0x30]
call fcn.10001b90
lea ecx, [esp + 0x14]
jmp 0x1004113f
mov ecx, dword [ebp + 0x10488]
push edi
call fcn.1003a9d0
mov esi, eax
test esi, esi
je 0x1003ec01
mov ecx, dword [esi + 0x78]
call fcn.10017390
test al, al
jne 0x1003eb69
mov ecx, dword [esi + 0x78]
push edi
call fcn.10017410
mov eax, dword [esi + 0x78]
mov edx, dword [eax + 4]
lea eax, [esp + 0x30]
push eax
lea ecx, [ebp + 0x10498]
mov dword [edx + 0x7c], 0x1bb
call fcn.100097c0
push str.cf1e8c14e54505f60aa10ceb8d5d8ab3
lea ecx, [ebp + 0x10490]
call fcn.10009830
push str.cf1e8c14e54505f60aa10ceb8d5d8ab3
lea ecx, [ebp + 0x10494]
call fcn.10009830
mov ecx, dword [esi + 0x78]
push ebx
call fcn.10017400
mov ecx, dword [esi + 0x78]
push ecx
call fcn.10034ac0
mov esi, dword [esi + 0x78]
mov edx, dword [esi]
mov eax, dword [edx + 4]
add esp, 4
push ebx
mov ecx, esi
call eax
lea ecx, [esp + 0x30]
call fcn.10001b90
lea ecx, [esp + 0x14]
jmp 0x1004113f
mov ecx, dword [ebp + 0x104b8]
push ecx
push ecx
lea edx, [ebp + 0x104bc]
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.1000a660
mov ecx, dword [0x100d78f4]
lea eax, [esp + 0x84]
push eax
add ecx, 0x24
call fcn.100230c0
jmp case.0x1003da38.49
xor eax, eax
lea edx, [esp + 0xc4]
xor ecx, ecx
push edx
mov word [esp + 0xc8], cx
mov dword [esp + 0xca], eax
mov dword [esp + 0xce], eax
mov dword [esp + 0xd2], eax
mov word [esp + 0xd6], ax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0xca]
movzx ecx, word [esp + 0xc6]
movzx edx, word [esp + 0xc4]
push eax
push ecx
push edx
lea eax, [esp + 0xac]
push str._04d__02d__02d
push eax
call fcn.100807c6
movzx ecx, word [esp + 0xe4]
movzx edx, word [esp + 0xe2]
movzx eax, word [esp + 0xe0]
push ecx
push edx
push eax
lea ecx, [esp + 0x144]
push str._02d__02d__02d
push ecx
call fcn.100807c6
add esp, 0x28
push ebx
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x26
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x27
call fcn.10018ae0
push eax
lea ecx, [esp + 0x3c]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x28
call fcn.10018ae0
push eax
lea ecx, [esp + 0x40]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x29
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push ebx
lea ecx, [esp + 0x80]
mov dword [esp + 0x5c], eax
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push ebx
lea ecx, [esp + 0x80]
mov dword [esp + 0x44], eax
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push ebx
lea ecx, [esp + 0x80]
mov dword [esp + 0x60], eax
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
push ebx
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x2a
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
cmp eax, ebx
jne 0x1003ee5e
lea edx, [esp + 0x48]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, 8
mov ecx, 0x100d7d08
lea edx, [esp + 0x48]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1003ee11
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1003edf8
jmp 0x1003f0dc
movzx edi, byte [ecx]
movzx eax, byte [edx]
sub eax, edi
jne 0x1003ee3d
movzx eax, byte [edx + 1]
movzx edi, byte [ecx + 1]
sub eax, edi
jne 0x1003ee3d
movzx eax, byte [edx + 2]
movzx edi, byte [ecx + 2]
sub eax, edi
jne 0x1003ee3d
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
cmp eax, ebx
je 0x1003f0dc
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [0x100d7d08], edx
mov dword [0x100d7d0c], eax
mov ecx, dword [0x100d302c]
mov dword [esp + 0x20], ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x24]
mov byte [esp + 0x550], 0x2b
call fcn.100097c0
push 0x100bae9c
lea ecx, [esp + 0x24]
call fcn.10009970
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x24]
call fcn.100099b0
push 0x100bae9c
lea ecx, [esp + 0x24]
call fcn.10009970
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0x24]
call fcn.10009970
push 0x100bae9c
lea ecx, [esp + 0x24]
call fcn.10009970
push 0x100be070
lea ecx, [esp + 0x24]
call fcn.10009970
push 0x100bae9c
lea ecx, [esp + 0x24]
call fcn.10009970
lea edx, [esp + 0x124]
push edx
lea ecx, [esp + 0x24]
call fcn.10009970
push 0x100bae9c
lea ecx, [esp + 0x24]
call fcn.10009970
push str..bmp
lea eax, [esp + 0x2c]
push eax
xor edi, edi
call fcn.10011cf0
test al, al
je 0x1003ef1c
mov edi, 1
mov ecx, dword [0x100d78f4]
cmp dword [ecx + 0x10480], ebx
jne 0x1003ef3e
cmp edi, ebx
jne 0x1003ef3e
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x24]
call fcn.100099b0
jmp 0x1003ef4c
push str..bmpzip
lea ecx, [esp + 0x24]
call fcn.10009970
lea eax, [esp + 0x20]
push eax
lea ecx, [ebp + 0x10eb8]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.10022c50
push str..magicdesklist2
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov byte [esp + 0x558], 0x2c
call fcn.10013ca0
mov edx, dword [esp + 0x30]
mov bl, 0x2d
push edx
mov byte [esp + 0x550], bl
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [0x100d78f4]
cmp dword [ecx + 0x10480], 0
jne 0x1003efdf
test edi, edi
jne 0x1003efdf
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
push edx
lea ecx, [ebp + 0x105e8]
call fcn.10015d50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_MoveFileA]
mov edx, dword [esp + 0x14]
push edx
call fcn.100332a0
add esp, 4
test eax, eax
jne 0x1003f0ae
test edi, edi
jne 0x1003f007
mov eax, dword [0x100d78f4]
mov dword [eax + 0x10480], 1
mov ecx, dword [0x100d78f4]
cmp dword [ecx + 0x105e0], 0
jne 0x1003f052
push 0x28
call fcn.10080587
add esp, 4
mov dword [esp + 0x48], eax
mov byte [esp + 0x54c], 0x2e
test eax, eax
je 0x1003f03d
mov ecx, dword [ebp + 4]
push ecx
mov ecx, eax
call fcn.10011c50
jmp 0x1003f03f
xor eax, eax
mov edx, dword [0x100d78f4]
mov byte [esp + 0x54c], bl
mov dword [edx + 0x105e0], eax
mov eax, dword [0x100d78f4]
mov eax, dword [eax + 0x105e0]
mov ecx, 8
mov word [eax + 0xc], cx
mov byte [eax + 0x24], 1
mov edx, dword [0x100d78f4]
mov ecx, dword [edx + 0x105e0]
push 0
call fcn.100118b0
mov eax, dword [esp + 0x30]
mov ecx, dword [0x100d78f4]
mov ecx, dword [ecx + 0x105e0]
push eax
call fcn.10011c20
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
push edx
push eax
call dword [0x100c9020]
mov ecx, dword [esp + 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [esp + 0x14]
mov ecx, dword [0x100d78f4]
push edx
add ecx, 0x24
call fcn.10034620
lea ecx, [esp + 0x14]
call fcn.10001b90
lea ecx, [esp + 0x30]
call fcn.10001b90
lea ecx, [esp + 0x20]
call fcn.10001b90
lea ecx, [esp + 0x28]
call fcn.10001b90
lea ecx, [esp + 0x3c]
call fcn.10001b90
lea ecx, [esp + 0x38]
call fcn.10001b90
lea ecx, [esp + 0x1c]
call fcn.10001b90
lea ecx, [esp + 0x18]
mov byte [esp + 0x54c], 0
call fcn.10001b90
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + 0x80]
cmp eax, 0x4c
ja case.0x1003f12b.127
movzx eax, byte [eax + 0x100412a4]
jmp dword [eax*4 + 0x10041290]
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov dword [esi + 0x60], eax
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
lea ecx, [ebp + 0x64]
push ecx
lea edx, [esp + 0x2c]
mov bl, 0x2f
push edx
mov byte [esp + 0x554], bl
call fcn.10018980
test al, al
je 0x1003f241
cmp dword [ebp + 0x105c8], 0
je 0x1003f1e9
push str.onMagicConnect_r_n
push 0x100d3d24
call fcn.10034860
mov eax, dword [ebp + 0x104c0]
push eax
mov eax, dword [ebp + 0x105c8]
push 1
call eax
add esp, 0x10
test eax, eax
jne 0x1003f1e9
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov eax, dword [0x100d78f4]
test eax, eax
je 0x1004113b
cmp dword [eax + 0x10488], 0
je 0x1004113b
mov ecx, dword [eax + 0x10488]
push esi
call fcn.10038b30
jmp 0x1004113b
lea ecx, [esp + 0x124]
mov byte [esi + 0x58], 1
call fcn.10018f70
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x48]
mov dword [esp + 0x124], ecx
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x30
call fcn.100344e0
push 1
lea ecx, [esp + 0x128]
call fcn.100344e0
push 1
lea ecx, [esp + 0x128]
call fcn.100344e0
push 0x100be07c
jmp 0x1003f3d7
cmp dword [esi + 0x60], 0xffffffcc
jne 0x1003f269
mov ecx, dword [esi + 0x78]
mov eax, dword [ecx + 4]
push eax
call fcn.10038c30
mov esi, dword [esi + 0x78]
mov edx, dword [esi]
mov eax, dword [edx + 4]
add esp, 4
push 0
mov ecx, esi
call eax
jmp 0x1004113b
lea ecx, [esp + 0x124]
call fcn.10018f70
push str.ERR_PW
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x31
mov dword [esp + 0x128], 0x55
call fcn.10022600
push 1
lea ecx, [esp + 0x128]
push ecx
jmp 0x1003f3ed
push 1
push 0xffffffffffffff80
mov ecx, esi
mov dword [esi + 0x6c], 0
call fcn.10019580
jmp case.0x1003f4ff.111
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [ebp + 0x10ebc]
call fcn.10009830
jmp case.0x1003f4ff.111
mov dword [esi + 0x60], ecx
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov dword [esi + 0x48], eax
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
mov bl, 0x32
mov ecx, esi
mov byte [esp + 0x54c], bl
call fcn.10034c50
push 0x100bad1e
lea edi, [ebp + 0x64]
push edi
call fcn.10009570
test al, al
je 0x1003f34c
lea edx, [esp + 0x28]
push edx
push edi
call fcn.10018980
test al, al
je 0x1003f48a
mov byte [esi + 0x58], 1
mov eax, dword [ebp + 0x105c8]
test eax, eax
je 0x1003f36c
mov ecx, dword [ebp + 0x104c0]
push ecx
push 1
call eax
add esp, 8
test eax, eax
je 0x1003f1b3
cmp byte [esi + 0x58], 0
jne 0x1003f376
mov byte [esi + 0x58], 1
lea ecx, [esp + 0x124]
call fcn.10018f70
mov ecx, dword [esp + 0x7c]
mov edx, dword [esi + 0x48]
mov dword [esp + 0x124], ecx
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x34
call fcn.100344e0
push 1
lea ecx, [esp + 0x128]
call fcn.100344e0
push 1
lea ecx, [esp + 0x128]
call fcn.100344e0
push 0x100be07c
lea ecx, [esp + 0x128]
call fcn.10022600
push 0x100be078
lea ecx, [esp + 0x128]
call fcn.10022600
push 1
lea eax, [esp + 0x128]
push eax
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], bl
call fcn.100189e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x54c], 0
call fcn.10001b90
cmp byte [esi + 0x58], 0
jne 0x1003f4e6
mov eax, dword [esp + 0x7c]
cmp eax, 0xffffffa1
je 0x1003f439
cmp eax, 0xffffffb7
je 0x1003f439
cmp eax, 0xffffffcc
jne case.0x1003f4ff.111
push 0x100bad1e
lea ecx, [ebp + 0x64]
push ecx
call fcn.10009570
test al, al
je 0x1003f4e2
lea ecx, [esp + 0x124]
call fcn.10018f70
mov edx, dword [esi + 0x60]
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x35
mov dword [esp + 0x128], 0xffffffae
call fcn.100344e0
mov dword [esi + 0x60], 0xffffff80
jmp 0x1003ffb0
lea ecx, [esp + 0xc4]
call fcn.10018f70
mov eax, dword [esi + 0x60]
push eax
lea ecx, [esp + 0xc8]
mov byte [esp + 0x550], 0x33
mov dword [esp + 0xc8], 0xffffffae
call fcn.100344e0
push 1
lea ecx, [esp + 0xc8]
push ecx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0xc4]
mov byte [esp + 0x54c], bl
call fcn.100189e0
jmp 0x1004113b
mov byte [esi + 0x58], 1
mov eax, dword [esp + 0x7c]
add eax, 0x7e
cmp eax, 0xef
ja case.0x1003f4ff.111
movzx ecx, byte [eax + 0x10041378]
jmp dword [ecx*4 + 0x100412f4]
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
sub eax, 1
je 0x1003f5ef
sub eax, 1
jne case.0x1003f4ff.111
push eax
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x3c]
call fcn.10006410
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x36
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10006410
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov ecx, dword [0x100d78f4]
push edx
mov bl, 0x37
push eax
add ecx, 0x10410
mov byte [esp + 0x554], bl
call fcn.10024f30
lea ecx, [esp + 0x124]
mov edi, eax
call fcn.10018f70
push 2
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x38
mov dword [esp + 0x128], 0x71
call fcn.100344e0
push edi
lea ecx, [esp + 0x128]
call fcn.100344e0
push 1
lea ecx, [esp + 0x128]
push ecx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], bl
call fcn.100189e0
jmp 0x1003f6b2
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x3c]
call fcn.10006410
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x39
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10006410
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x3a
call fcn.10018ae0
push eax
call fcn.1008116f
mov edx, dword [0x100d3014]
add esp, 4
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push ecx
mov ecx, dword [0x100d78f4]
push eax
add ecx, 0x10410
mov byte [esp + 0x55c], 0x3b
call fcn.10025880
mov edx, dword [esp + 0x1c]
push edx
lea ecx, [esp + 0x5c]
call fcn.1001e010
mov eax, dword [eax]
mov ecx, dword [0x100d78f4]
push eax
add ecx, 0x24
mov byte [esp + 0x550], 0x3c
call fcn.10034620
lea ecx, [esp + 0x58]
call fcn.10001b90
lea ecx, [esp + 0x1c]
call fcn.10001810
lea ecx, [esp + 0x18]
call fcn.10001810
lea ecx, [esp + 0x38]
call fcn.10001810
jmp case.0x1003f4ff.111
mov eax, dword [esp + 0x24]
push eax
mov ecx, ebp
call fcn.1003aa70
jmp case.0x1003f4ff.111
call fcn.100338a0
jmp case.0x1003f4ff.111
push 0
lea ecx, [esp + 0x80]
mov dword [esi + 0x54], 0
call fcn.10018ae0
push eax
push esi
mov ecx, ebp
call fcn.10035200
jmp case.0x1003f4ff.111
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov esi, eax
call fcn.10018ae0
push eax
lea ecx, [esp + 0x3c]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x3d
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
neg esi
sbb esi, esi
and esi, 5
push esi
push 0
push ecx
push edx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [esp + 0x18]
call fcn.10001b90
lea ecx, [esp + 0x38]
jmp 0x1004113f
push 0
push 0
lea ecx, [esp + 0x84]
mov dword [esi + 0x54], 0
call fcn.10018ae0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
jmp 0x10040349
push 0
lea ecx, [esp + 0x80]
mov dword [esi + 0x54], 0
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x3e
call fcn.10018ae0
push eax
mov eax, dword [esp + 0x1c]
push 4
push eax
call fcn.10034c70
add esp, 0xc
lea ecx, [esp + 0x18]
mov byte [esp + 0x54c], 0
call fcn.10001b90
jmp 0x10040349
mov ecx, dword [esi + 0x38]
call fcn.10016960
cmp al, 0x6e
jne 0x1003f869
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
cmp eax, 1
jne 0x1003f83f
mov ecx, dword [esi + 0x3c]
push eax
call fcn.10016ef0
jmp case.0x1003f4ff.111
test eax, eax
jne 0x1003f851
mov ecx, dword [esi + 0x3c]
push eax
call fcn.10016ef0
jmp case.0x1003f4ff.111
cmp eax, 2
jne case.0x1003f4ff.111
mov ecx, dword [esi + 0x3c]
push 0xffffffffffffffff
call fcn.10016ef0
jmp case.0x1003f4ff.111
mov esi, dword [esi + 0x3c]
test esi, esi
je case.0x1003f4ff.111
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
jmp case.0x1003f4ff.111
mov ecx, dword [esi + 0x38]
call fcn.10016960
cmp al, 0x6e
jne 0x1003f89d
mov ecx, dword [esi + 0x40]
push 0xffffffffffffffff
call fcn.10016ef0
jmp case.0x1003f4ff.111
mov esi, dword [esi + 0x40]
jmp 0x1003f86c
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x28]
call fcn.10001bc0
push 0x100bad1e
lea ecx, [esp + 0x28]
mov bl, 0x3f
push ecx
mov byte [esp + 0x554], bl
call fcn.10011cf0
test al, al
je 0x1003f8e0
push 0
call fcn.10036540
add esp, 4
lea ecx, [esp + 0x124]
call fcn.10018f70
mov edx, dword [esi + 0x48]
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x40
mov dword [esp + 0x128], 0xffffffca
call fcn.100344e0
mov ebp, dword [ebp + 0x1048c]
push ebp
lea ecx, [esp + 0x128]
call fcn.10022600
mov eax, dword [esp + 0x24]
push eax
lea ecx, [esp + 0x128]
call fcn.10022600
push 1
lea ecx, [esp + 0x128]
push ecx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], bl
call fcn.100189e0
lea ecx, [esp + 0x24]
jmp 0x1004113f
lea ecx, [esp + 0xe8]
call fcn.10014970
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0x41
call fcn.10018f70
mov edx, dword [esi + 0x48]
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x42
mov dword [esp + 0x128], 0xffffff85
call fcn.100344e0
lea ecx, [esp + 0xe8]
call fcn.100138a0
push eax
lea ecx, [esp + 0x3c]
call fcn.10001bc0
mov ebx, dword [esp + 0x38]
push ebx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x43
call fcn.10022600
mov edi, 1
mov byte [esp + 0x22], 0
mov byte [esp + 0x21], 0x3a
cmp dword [ebx - 8], edi
jle 0x1003fa3a
mov al, byte [edi + ebx]
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x24], al
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
sub eax, 2
je 0x1003fa23
sub eax, 2
je 0x1003fa1c
sub eax, 1
lea ecx, [esp + 0x124]
je 0x1003fa15
push 0x100bad1e
jmp 0x1003fa2f
push str.CDROM
jmp 0x1003fa2f
push str.Network
jmp 0x1003fa28
push str.Removable
lea ecx, [esp + 0x128]
call fcn.10022600
inc edi
cmp edi, dword [ebx - 8]
jl 0x1003f9e6
push 1
lea edx, [esp + 0x128]
push edx
mov ecx, esi
call fcn.10019460
push 0x100be04c
add ebp, 0x1048c
push ebp
lea eax, [esp + 0x20]
push eax
call fcn.10013ca0
mov ecx, dword [esp + 0x18]
mov bl, 0x44
push ecx
mov byte [esp + 0x550], bl
call fcn.100332a0
add esp, 4
cmp eax, 0x3e8
jae 0x1003fae1
lea ecx, [esp + 0xa0]
call fcn.10018f70
mov edx, dword [esi + 0x48]
push edx
lea ecx, [esp + 0xa4]
mov byte [esp + 0x550], 0x45
mov dword [esp + 0xa4], 0xffffffca
call fcn.100344e0
mov ebp, dword [ebp]
push ebp
lea ecx, [esp + 0xa4]
call fcn.10022600
push 1
lea eax, [esp + 0xa4]
push eax
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0xa0]
mov byte [esp + 0x54c], bl
call fcn.100189e0
lea ecx, [esp + 0x18]
call fcn.10001b90
lea ecx, [esp + 0x38]
call fcn.10001b90
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0x41
call fcn.100189e0
lea ecx, [esp + 0xe8]
mov byte [esp + 0x54c], 0
call fcn.100145d0
jmp case.0x1003f4ff.111
push 0
lea ecx, [esp + 0x80]
mov dword [esi + 0x54], 0
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x46
call fcn.10018ae0
mov ecx, dword [esp + 0x18]
push eax
push 2
push ecx
jmp 0x1003f7eb
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x47
call fcn.10018ae0
push eax
lea ecx, [esp + 0x28]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x48
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov edi, eax
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
mov ecx, dword [esi + 0x3c]
mov byte [esp + 0x54c], 0x49
call fcn.10016f00
test eax, eax
jne 0x1003fc07
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x3c]
inc edx
push edx
call fcn.100343c0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push edi
push eax
push ecx
mov ecx, dword [esi + 0x3c]
call fcn.100176f0
lea ecx, [esp + 0x18]
call fcn.10001b90
lea ecx, [esp + 0x24]
call fcn.10001b90
lea ecx, [esp + 0x1c]
jmp 0x1004113f
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x28]
call fcn.10001bc0
mov edi, dword [esp + 0x24]
lea edx, [esp + 0x158]
push edx
mov bl, 0x4a
push edi
mov byte [esp + 0x554], bl
call fcn.10033260
lea eax, [esp + 0x160]
push eax
call fcn.100336c0
add esp, 0xc
lea ecx, [esp + 0x124]
call fcn.10018f70
mov ecx, dword [esi + 0x48]
push ecx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x4b
mov dword [esp + 0x128], 0xffffff87
call fcn.100344e0
push edi
call fcn.100332a0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x1003fcae
push edi
call fcn.10033150
add esp, 4
mov ebp, eax
lea edx, [esp + 0x158]
push edx
push edi
call fcn.10033190
add esp, 8
push str..mzip
lea eax, [esp + 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x1003fd19
mov edi, dword [edi - 8]
add edi, 0xfffffffb
push edi
push eax
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x30]
call fcn.10036370
mov edx, dword [esp + 0x18]
push edx
mov byte [esp + 0x550], 0x4c
call fcn.100332a0
add esp, 4
test eax, eax
je 0x1003fd08
or ebp, 0xffffffff
lea ecx, [esp + 0x18]
mov byte [esp + 0x54c], 0x4b
call fcn.10001b90
push ebp
lea ecx, [esp + 0x128]
call fcn.100344e0
push 0
lea eax, [esp + 0x128]
push eax
jmp 0x1003f93d
push 1
call fcn.10036540
add esp, 4
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
test eax, eax
jne 0x1003fddb
mov eax, dword [esi + 0x60]
cmp eax, 0xffffffa1
je 0x1003fd6f
cmp eax, 0xffffffcc
jne case.0x1003f4ff.111
mov ecx, dword [esi + 0x84]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 0
call eax
cmp dword [esi + 0x60], 0xffffffcc
mov eax, dword [esi + 0x84]
jne 0x1003fd99
mov ecx, dword [eax + 4]
mov dword [ecx + 0x88], 0x10038070
jmp 0x1003fda6
mov edx, dword [eax + 4]
mov dword [edx + 0x88], 0
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 4]
mov dword [eax + 8], 4
mov ecx, dword [esi + 0x84]
push ecx
call fcn.10034ac0
mov esi, dword [esi + 0x84]
mov edx, dword [esi]
mov eax, dword [edx + 4]
add esp, 4
push 1
mov ecx, esi
call eax
jmp case.0x1003f4ff.111
cmp eax, 1
jne case.0x1003f4ff.111
cmp dword [0x100d7900], 0
je case.0x1003f4ff.111
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x50]
push ecx
push 0
push 0
push 0x100bdf40
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call fcn.10033770
mov ecx, dword [esi + 0x44]
push eax
call fcn.100165b0
push eax
call dword [0x100d7900]
add esp, 0xc
jmp case.0x1003f4ff.111
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push 0
lea ecx, [esp + 0x80]
mov esi, eax
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push eax
push esi
call dword [sym.imp.USER32.dll_SetCursorPos]
jmp case.0x1003f4ff.111
push 0
push 0
push 0
push 0
push 4
call dword [sym.imp.USER32.dll_mouse_event]
jmp case.0x1003f4ff.111
push 0
push 0
push 0
push 0
push 0x10
call dword [sym.imp.USER32.dll_mouse_event]
jmp case.0x1003f4ff.111
mov esi, dword [sym.imp.USER32.dll_mouse_event]
push 0
push 0
push 0
push 0
push 2
call esi
cmp dword [esp + 0x7c], 0xffffff8e
je case.0x1003f4ff.111
push 0
push 0
push 0
push 0
push 4
call esi
cmp dword [esp + 0x7c], 0xffffff8c
je case.0x1003f4ff.111
push 0
push 0
push 0
push 0
push 2
call esi
push 0
push 0
push 0
push 0
push 4
call esi
jmp case.0x1003f4ff.111
mov esi, dword [sym.imp.USER32.dll_mouse_event]
push 0
push 0
push 0
push 0
push 8
call esi
cmp dword [esp + 0x7c], 0xffffff8f
je case.0x1003f4ff.111
push 0
push 0
push 0
push 0
push 0x10
call esi
cmp dword [esp + 0x7c], 0xffffff8d
je case.0x1003f4ff.111
push 0
push 0
push 0
push 0
push 8
call esi
push 0
push 0
push 0
push 0
push 0x10
call esi
jmp case.0x1003f4ff.111
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov ebp, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, eax
push 8
push edi
call ebp
push 0xa
push edi
mov ebx, eax
call ebp
push edi
push 0
mov ebp, eax
call dword [sym.imp.USER32.dll_ReleaseDC]
lea ecx, [esp + 0x124]
call fcn.10018f70
mov edx, dword [esi + 0x48]
push edx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x4d
mov dword [esp + 0x128], 0xffffff8b
call fcn.100344e0
push ebx
lea ecx, [esp + 0x128]
call fcn.100344e0
push ebp
lea ecx, [esp + 0x128]
call fcn.100344e0
push 1
lea eax, [esp + 0x128]
push eax
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0
call fcn.100189e0
jmp case.0x1003f4ff.111
lea ecx, [esp + 0x124]
call fcn.10018f70
mov ecx, dword [esi + 0x48]
push ecx
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x4e
mov dword [esp + 0x128], 0xffffff95
call fcn.100344e0
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0
call fcn.100189e0
jmp case.0x1003f4ff.111
lea ecx, [esp + 0x124]
call fcn.10014860
cmp dword [esp + 0x7c], 0xffffff8a
mov bl, 0x4f
mov byte [esp + 0x54c], bl
jne 0x100400a5
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x50
call fcn.10018ae0
mov edx, dword [esp + 0x18]
push eax
push edx
lea ecx, [esp + 0x12c]
call fcn.100214f0
lea ecx, [esp + 0x18]
mov byte [esp + 0x54c], bl
call fcn.10001b90
lea ecx, [esp + 0x124]
call fcn.10021800
lea ecx, [esp + 0xa0]
call fcn.10018f70
mov eax, dword [esi + 0x48]
push eax
lea ecx, [esp + 0xa4]
mov byte [esp + 0x550], 0x51
mov dword [esp + 0xa4], 0xffffff89
call fcn.100344e0
lea ecx, [esp + 0x124]
xor edi, edi
call fcn.10021620
test eax, eax
jbe 0x1004013e
push edi
lea ecx, [esp + 0x128]
call fcn.10021630
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xa4]
call fcn.10022600
push edi
lea ecx, [esp + 0x128]
call fcn.10021630
add eax, 4
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xa4]
call fcn.10022600
lea ecx, [esp + 0x124]
inc edi
call fcn.10021620
cmp edi, eax
jb 0x100400f2
push 1
lea ecx, [esp + 0xa4]
push ecx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0xa0]
mov byte [esp + 0x54c], bl
call fcn.100189e0
lea ecx, [esp + 0x124]
call fcn.10038cb0
jmp case.0x1003f4ff.111
push 2
call fcn.100333c0
add esp, 4
jmp case.0x1003f4ff.111
push 8
call fcn.100333c0
add esp, 4
jmp case.0x1003f4ff.111
lea ecx, [esp + 0x124]
call fcn.10016060
cmp dword [esp + 0x7c], 0xffffffac
mov bl, 0x52
mov byte [esp + 0x54c], bl
jne 0x100401d1
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
push eax
lea ecx, [esp + 0x128]
call fcn.10015eb0
lea ecx, [esp + 0x124]
call fcn.10016070
lea ecx, [esp + 0xa0]
call fcn.10018f70
mov edx, dword [esi + 0x48]
push edx
lea ecx, [esp + 0xa4]
mov byte [esp + 0x550], 0x53
mov dword [esp + 0xa4], 0xffffffab
call fcn.100344e0
lea ecx, [esp + 0x124]
xor edi, edi
call fcn.10015f60
test eax, eax
jbe 0x1004026a
mov edi, edi
push edi
lea ecx, [esp + 0x128]
call fcn.10015f30
mov eax, dword [eax]
push eax
lea ecx, [esp + 0xa4]
call fcn.10022600
push edi
lea ecx, [esp + 0x128]
call fcn.10015f30
mov eax, dword [eax + 4]
push eax
lea ecx, [esp + 0xa4]
call fcn.100344e0
lea ecx, [esp + 0x124]
inc edi
call fcn.10015f60
cmp edi, eax
jb 0x10040220
push 1
lea ecx, [esp + 0xa4]
push ecx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0xa0]
mov byte [esp + 0x54c], bl
call fcn.100189e0
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0
call fcn.10016020
jmp case.0x1003f4ff.111
mov dword [esi + 0x54], 0
mov edx, dword [0x100d302c]
mov dword [esp + 0x28], edx
push 0x100bad1e
push 0
lea ecx, [esp + 0x84]
mov byte [esp + 0x554], 0x54
call fcn.10018ae0
push eax
lea ecx, [esp + 0x30]
call fcn.10009830
push eax
call fcn.10009570
test al, al
je 0x1004031f
mov eax, dword [esp + 0x28]
push 0
push 3
push eax
call fcn.10034c70
add esp, 0xc
push 0x100bad1e
push 0
lea ecx, [esp + 0x84]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x30]
call fcn.10009830
push eax
call fcn.10009570
test al, al
jne 0x100402e7
lea ecx, [esp + 0x28]
mov byte [esp + 0x54c], 0
call fcn.10001b90
jmp 0x10040349
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esi + 0x64]
call fcn.10009830
lea ecx, [esp + 0xe8]
call fcn.10014970
lea ecx, [esp + 0x7c]
mov byte [esp + 0x54c], 0x55
call fcn.10018a80
mov ecx, dword [esi + 0x64]
cmp byte [ecx + 1], 0x61
jne 0x10040399
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x44]
push edx
push 0x100be01c
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
cmp dword [esp + 0x40], 0
je 0x1003fb07
mov eax, dword [esi + 0x64]
push eax
lea ecx, [esp + 0xec]
call fcn.10014e70
mov eax, dword [esi + 0x64]
push eax
lea ecx, [esp + 0x80]
call fcn.10022600
mov eax, dword [0x100d302c]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0xe8]
mov byte [esp + 0x54c], 0x56
mov byte [esp + 0x155], 0
xor edi, edi
call fcn.10013db0
test eax, eax
jbe 0x1004054c
mov ebx, dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov edi, edi
push edi
lea ecx, [esp + 0xec]
call fcn.10013dc0
cmp dword [eax + 8], 0
je 0x10040469
push 0x100be220
push edi
lea ecx, [esp + 0xf0]
call fcn.10013dc0
push eax
call fcn.10011cf0
test al, al
jne 0x10040537
push 0x100be21c
push edi
lea ecx, [esp + 0xf0]
call fcn.10013dc0
push eax
call fcn.10011cf0
test al, al
jne 0x10040537
push 0x100be070
lea ecx, [esp + 0x80]
call fcn.10022600
push edi
lea ecx, [esp + 0xec]
call fcn.10013dc0
mov eax, dword [eax]
push eax
jmp 0x1004052b
lea ecx, [esp + 0x30]
push ecx
push edi
lea ecx, [esp + 0xf0]
call fcn.10013dc0
add eax, 0xc
push eax
call ebx
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx ecx, word [esp + 0xce]
movzx edx, word [esp + 0xcc]
movzx eax, word [esp + 0xca]
push ecx
movzx ecx, word [esp + 0xca]
push edx
movzx edx, word [esp + 0xcc]
push eax
push ecx
push edx
lea eax, [esp + 0x138]
push str._4d__d__d__d:_d
push eax
call fcn.100807c6
add esp, 0x1c
push 0x100be0c4
lea ecx, [esp + 0x80]
call fcn.10022600
push edi
lea ecx, [esp + 0xec]
call fcn.10013dc0
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x80]
call fcn.10022600
push edi
lea ecx, [esp + 0xec]
call fcn.10013dc0
mov ecx, dword [eax + 4]
shr ecx, 0xa
push ecx
lea ecx, [esp + 0x80]
call fcn.100344e0
lea edx, [esp + 0x124]
push edx
lea ecx, [esp + 0x80]
call fcn.10022600
lea ecx, [esp + 0xe8]
inc edi
call fcn.10013db0
cmp edi, eax
jb 0x100403f0
push str.file.3dir
add ebp, 0x10eb8
push ebp
lea eax, [esp + 0x64]
push eax
call fcn.10013ca0
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x5c]
call fcn.10001b90
push str.file.3dir
push ebp
lea ecx, [esp + 0x44]
push ecx
call fcn.10013ca0
mov eax, dword [eax]
push 0
push 2
push 0x40000000
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x55c], 0x57
call fcn.10012d60
lea ecx, [esp + 0x3c]
mov byte [esp + 0x54c], 0x59
call fcn.10001b90
lea ecx, [esp + 0x84]
call fcn.1007bbe0
push eax
lea ecx, [esp + 0x88]
call fcn.1007bbd0
push eax
lea ecx, [esp + 0x30]
call fcn.10012580
lea ecx, [esp + 0x28]
call fcn.100125f0
push str.file.3dir
push ebp
lea edx, [esp + 0x2c]
push edx
call fcn.10013ca0
mov bl, 0x5a
push str.file
lea ecx, [esp + 0x18]
mov byte [esp + 0x550], bl
call fcn.10009830
mov eax, dword [esi + 0x48]
push eax
lea ecx, [esp + 0x64]
push ecx
call fcn.100332f0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x550], 0x5b
call fcn.100099b0
lea ecx, [esp + 0x60]
mov byte [esp + 0x54c], bl
call fcn.10001b90
push str..3dir
lea ecx, [esp + 0x18]
call fcn.10009970
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x1004066d
mov edx, dword [esi + 0x48]
add edx, 2
push edx
call fcn.100343c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push 0
push eax
push ecx
mov ecx, dword [esi + 0x40]
call fcn.100176f0
lea ecx, [esp + 0x24]
call fcn.10001b90
lea ecx, [esp + 0x28]
mov byte [esp + 0x54c], 0x56
call fcn.100125e0
lea ecx, [esp + 0x14]
call fcn.10001b90
lea ecx, [esp + 0xe8]
mov byte [esp + 0x54c], 0
call fcn.100145d0
jmp case.0x1003f4ff.111
lea ecx, [esp + 0xe8]
call fcn.10014970
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x5c
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x5d
call fcn.10018ae0
push eax
lea ecx, [esp + 0x28]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x5e
call fcn.10018ae0
push eax
call fcn.1008116f
mov ecx, dword [esp + 0x28]
add esp, 4
test eax, eax
setne dl
mov byte [esp + 0x40], dl
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
lea ecx, [esp + 0xf4]
call fcn.100151e0
lea ecx, [esp + 0x7c]
call fcn.10018a80
mov eax, dword [esi + 0x64]
push eax
lea ecx, [esp + 0x80]
call fcn.10022600
lea ecx, [esp + 0x124]
call fcn.10018f70
mov eax, dword [esi + 0x48]
push eax
lea ecx, [esp + 0x128]
mov byte [esp + 0x550], 0x5f
mov dword [esp + 0x128], 0xffffffb8
call fcn.100344e0
lea ecx, [esp + 0xe8]
call fcn.10013db0
test eax, eax
jne 0x100407b7
push 0x100be1f4
lea ecx, [esp + 0x128]
call fcn.10022600
push 1
lea ecx, [esp + 0x128]
push ecx
mov ecx, esi
call fcn.10019460
jmp 0x10040965
push 1
lea edx, [esp + 0x128]
push edx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0xe8]
xor edi, edi
call fcn.10013db0
test eax, eax
jbe 0x1004083e
mov edi, edi
push edi
lea ecx, [esp + 0xec]
call fcn.10013dc0
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x80]
call fcn.10022600
push edi
lea ecx, [esp + 0xec]
call fcn.10013dc0
mov eax, dword [eax + 4]
shr eax, 0xa
push eax
lea ecx, [esp + 0x80]
call fcn.100344e0
push 0xc8396
lea ecx, [esp + 0x80]
call fcn.100344e0
lea ecx, [esp + 0xe8]
inc edi
call fcn.10013db0
cmp edi, eax
jb 0x100407e0
push str.file.2dir
add ebp, 0x10eb8
push ebp
lea ecx, [esp + 0x6c]
push ecx
call fcn.10013ca0
mov eax, dword [eax]
push 0
push 2
push 0x40000000
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x55c], 0x60
call fcn.10012d60
lea ecx, [esp + 0x64]
mov byte [esp + 0x54c], 0x62
call fcn.10001b90
lea ecx, [esp + 0x84]
call fcn.1007bbe0
push eax
lea ecx, [esp + 0x88]
call fcn.1007bbd0
push eax
lea ecx, [esp + 0x58]
call fcn.10012580
lea ecx, [esp + 0x50]
call fcn.100125f0
push str.file.2dir
push ebp
lea edx, [esp + 0x20]
push edx
call fcn.10013ca0
mov eax, dword [0x100d302c]
mov dword [esp + 0x14], eax
mov bl, 0x64
push str.file
lea ecx, [esp + 0x18]
mov byte [esp + 0x550], bl
call fcn.10009970
mov ecx, dword [esi + 0x48]
push ecx
lea edx, [esp + 0x7c]
push edx
call fcn.100332f0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x550], 0x65
call fcn.100099b0
lea ecx, [esp + 0x78]
mov byte [esp + 0x54c], bl
call fcn.10001b90
push str..2dir
lea ecx, [esp + 0x18]
call fcn.10009970
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x40]
add eax, 2
push eax
call fcn.100343c0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0
push ecx
mov ecx, dword [esi + 0x40]
push edx
call fcn.100176f0
lea ecx, [esp + 0x14]
call fcn.10001b90
lea ecx, [esp + 0x18]
call fcn.10001b90
lea ecx, [esp + 0x50]
mov byte [esp + 0x54c], 0x5f
call fcn.100125e0
lea ecx, [esp + 0x124]
mov byte [esp + 0x54c], 0x5e
call fcn.100189e0
lea ecx, [esp + 0x24]
call fcn.10001b90
lea ecx, [esp + 0x1c]
jmp 0x1004068b
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push ecx
push edx
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov ebp, eax
test ebp, ebp
je case.0x1003f4ff.111
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov edi, dword [esp + 0x18]
mov eax, dword [edi - 8]
inc eax
push eax
push 0x2000
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
push 0
push 0
push 0x302
push ebp
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [esp + 0x18]
jmp 0x1004113f
push 0x24
call fcn.10080587
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x54c], 0x66
test eax, eax
je 0x10040a53
mov ecx, eax
call fcn.10032dc0
mov edi, eax
mov dword [esp + 0x20], eax
jmp 0x10040a59
xor edi, edi
mov dword [esp + 0x20], edi
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0
call fcn.10018ae0
push eax
call fcn.1008116f
add esp, 4
cmp eax, 4
ja case.default.0x10040a7d
jmp dword [eax*4 + 0x10041468]
push bind
jmp 0x10040aa5
push reloc.WS2_32.dll_accept
jmp 0x10040aa5
push reloc.WS2_32.dll_bind
jmp 0x10040aa5
push reloc.WS2_32.dll_closesocket
jmp 0x10040aa5
push htons
mov ecx, edi
call fcn.100326f0
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x20]
call fcn.10001bc0
mov eax, dword [esp + 0x1c]
push eax
mov ecx, edi
mov byte [esp + 0x550], 0x67
call fcn.10032b60
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x40], eax
cmp eax, 0xffffffbc
je 0x10040d6a
cmp eax, 0xffffffbd
je 0x10040c3c
cmp eax, 0xffffffbf
jne 0x10040dd7
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x1c]
call fcn.10001bc0
mov ecx, dword [esp + 0x18]
mov bl, byte [ecx]
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x68
call fcn.10018ae0
push eax
lea ecx, [esp + 0x34]
call fcn.10001bc0
movsx eax, bl
add eax, 0xffffff9f
mov byte [esp + 0x54c], 0x69
cmp eax, 0x15
ja case.0x10040b57.98
movzx edx, byte [eax + 0x1004149c]
jmp dword [edx*4 + 0x1004147c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push eax
call fcn.10032a70
jmp case.0x10040b57.98
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.100329a0
jmp case.0x10040b57.98
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push eax
push edx
call fcn.10032c20
jmp case.0x10040b57.98
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push eax
call fcn.10032970
jmp case.0x10040b57.98
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
call fcn.1008116f
mov ecx, dword [esp + 0x34]
add esp, 4
push eax
push ecx
mov ecx, dword [esp + 0x28]
call fcn.10032bb0
jmp case.0x10040b57.98
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push eax
push edx
call fcn.10032be0
jmp case.0x10040b57.98
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x34]
push eax
call fcn.10032a90
lea ecx, [esp + 0x30]
call fcn.10001b90
lea ecx, [esp + 0x18]
mov byte [esp + 0x54c], 0x67
call fcn.10001b90
jmp 0x10040dd7
lea ecx, [esp + 0x7c]
call fcn.10018a80
push str.value
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], 0xffffffbd
call fcn.10022600
mov ecx, edi
call fcn.10032f20
mov ecx, dword [eax + 0x10]
sub ecx, dword [eax + 0xc]
mov dword [esp + 0x18], eax
sar ecx, 2
mov dword [esp + 0x24], 0
test ecx, ecx
jbe 0x10040dd7
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push edx
call fcn.10013970
mov edi, dword [eax]
mov eax, dword [edi]
push eax
lea ecx, [esp + 0x80]
call fcn.10022600
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
push eax
call fcn.10032a10
mov ebx, eax
push ebx
lea ecx, [esp + 0x80]
call fcn.100344e0
lea eax, [ebx - 1]
cmp eax, 3
ja case.default.0x10040ccb
jmp dword [eax*4 + 0x100414b4]
mov edi, dword [edi]
mov ecx, dword [esp + 0x20]
push 0x3e8
lea eax, [esp + 0x15c]
push eax
push edi
call fcn.100327b0
jmp 0x10040d33
mov edi, dword [edi]
mov ecx, dword [esp + 0x20]
push edi
call fcn.10032780
push 0x3e8
lea ecx, [esp + 0x15c]
push ecx
push eax
call fcn.100acd1c
add esp, 0xc
jmp 0x10040d33
push 0x100be1d4
lea edx, [esp + 0x15c]
push edx
jmp 0x10040d2d
push 0x100be1d4
lea eax, [esp + 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea ecx, [esp + 0x158]
push ecx
lea ecx, [esp + 0x80]
call fcn.10022600
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x10]
sub edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x24]
inc eax
sar edx, 2
mov dword [esp + 0x24], eax
cmp eax, edx
jb 0x10040c85
jmp 0x10040dd7
lea ecx, [esp + 0x7c]
call fcn.10018a80
push 0x100be1d0
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], 0xffffffbc
call fcn.10022600
mov ecx, dword [esp + 0x20]
call fcn.10032de0
mov edi, eax
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
xor ebx, ebx
sar eax, 2
test eax, eax
jbe 0x10040dd7
lea esp, [esp]
push ebx
mov ecx, edi
call fcn.10013970
mov eax, dword [eax]
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x80]
call fcn.10022600
mov ecx, dword [edi + 0x10]
sub ecx, dword [edi + 0xc]
inc ebx
sar ecx, 2
cmp ebx, ecx
jb 0x10040db0
mov edi, dword [esp + 0x20]
test edi, edi
je 0x10040def
mov ecx, edi
call fcn.10032d70
push edi
call fcn.1007fde4
add esp, 4
cmp dword [esp + 0x40], 0xffffffbf
je 0x1003e625
push str.reg.2ger
lea ecx, [esp + 0x74]
call fcn.10001bc0
push eax
lea edi, [ebp + 0x10eb8]
push edi
lea edx, [esp + 0x7c]
push edx
mov byte [esp + 0x558], 0x6a
call fcn.10022c50
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x74]
call fcn.10001b90
lea ecx, [esp + 0x70]
mov byte [esp + 0x54c], 0x67
call fcn.10001b90
push str.reg.2ger
lea ecx, [esp + 0x6c]
call fcn.10001bc0
push eax
push edi
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x558], 0x6b
call fcn.10022c50
mov eax, dword [eax]
push 0
push 2
push 0x40000000
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x55c], 0x6c
call fcn.10012d60
lea ecx, [esp + 0x6c]
call fcn.10001b90
lea ecx, [esp + 0x68]
mov byte [esp + 0x54c], 0x6f
call fcn.10001b90
lea ecx, [esp + 0x84]
call fcn.1007bbe0
push eax
lea ecx, [esp + 0x88]
call fcn.1007bbd0
push eax
lea ecx, [esp + 0x58]
call fcn.10012580
lea ecx, [esp + 0x50]
call fcn.100125f0
push str.reg.2ger
push edi
lea ecx, [esp + 0x40]
push ecx
call fcn.10013ca0
mov edx, dword [0x100d302c]
mov dword [esp + 0x14], edx
mov bl, 0x71
push 0x100be1c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x550], bl
call fcn.10009970
mov eax, dword [esi + 0x48]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.100332f0
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x550], 0x72
call fcn.100099b0
lea ecx, [esp + 0x48]
mov byte [esp + 0x54c], bl
call fcn.10001b90
push str..2ger
lea ecx, [esp + 0x18]
call fcn.10009970
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x10040f63
mov edx, dword [esi + 0x48]
add edx, 2
push edx
call fcn.100343c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
push 0
push eax
push ecx
mov ecx, dword [esi + 0x40]
call fcn.100176f0
lea ecx, [esp + 0x14]
call fcn.10001b90
lea ecx, [esp + 0x38]
call fcn.10001b90
lea ecx, [esp + 0x50]
mov byte [esp + 0x54c], 0x67
call fcn.100125e0
lea ecx, [esp + 0x1c]
jmp 0x1004113f
push 0
lea ecx, [esp + 0x80]
call fcn.10018ae0
push eax
lea ecx, [esp + 0x2c]
call fcn.10001bc0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x550], 0x73
call fcn.10018ae0
push eax
lea ecx, [esp + 0x34]
call fcn.10001bc0
push 0x100be1b4
lea edx, [esp + 0x2c]
mov bl, 0x74
push edx
mov byte [esp + 0x554], bl
call fcn.10011cf0
test al, al
je 0x1004101b
cmp dword [esi + 0x74], 0
jne 0x1004101b
push 0x101c
call fcn.10080587
add esp, 4
mov dword [esp + 0x40], eax
mov byte [esp + 0x54c], 0x75
test eax, eax
je 0x1004100f
mov ecx, eax
call fcn.1007d1d0
jmp 0x10041011
xor eax, eax
mov byte [esp + 0x54c], bl
mov dword [esi + 0x74], eax
push 0x100be1b0
lea eax, [esp + 0x2c]
push eax
call fcn.10011cf0
test al, al
je 0x1004104c
mov edi, dword [esi + 0x74]
test edi, edi
je 0x10041045
mov ecx, edi
call fcn.1007d380
push edi
call fcn.1007fde4
add esp, 4
mov dword [esi + 0x74], 0
cmp dword [esi + 0x74], 0
je 0x10041132
push 0x100bad1e
lea ecx, [esp + 0x34]
push ecx
or edi, 0xffffffff
call fcn.10009570
test al, al
je 0x1004108e
push 0x100be1ac
lea ecx, [esp + 0x34]
call fcn.10009970
mov edi, dword [esp + 0x30]
mov eax, dword [edi - 8]
mov ecx, dword [esi + 0x74]
push eax
push edi
call fcn.1007d350
mov edi, dword [edi - 8]
mov ebp, 0x13
mov ecx, dword [esi + 0x74]
lea edx, [esp + 0x1c]
push edx
call fcn.1007d2e0
test eax, eax
je 0x100410ae
push eax
lea ecx, [esp + 0x34]
call fcn.10009830
cmp dword [esp + 0x1c], 0
jne 0x100410bf
sub ebp, 1
jne 0x10041093
jmp 0x10041132
mov ebp, dword [esp + 0x30]
cmp edi, 0xffffffff
je 0x100410d2
cmp dword [ebp - 8], edi
jle 0x100410d2
mov byte [edi + ebp - 1], 0xd
lea ecx, [esp + 0xa0]
call fcn.10018f70
mov eax, dword [esi + 0x48]
push eax
lea ecx, [esp + 0xa4]
mov byte [esp + 0x550], 0x76
mov dword [esp + 0xa4], 0xffffffbe
call fcn.100344e0
push ebp
lea ecx, [esp + 0xa4]
call fcn.10022600
push 1
lea ecx, [esp + 0xa4]
push ecx
mov ecx, esi
call fcn.10019460
lea ecx, [esp + 0xa0]
mov byte [esp + 0x54c], bl
call fcn.100189e0
lea ecx, [esp + 0x30]
call fcn.10001b90
lea ecx, [esp + 0x28]
call fcn.10001b90
lea ecx, [esp + 0x7c]
mov dword [esp + 0x54c], 0xffffffff
call fcn.100189e0
mov ecx, dword [esp + 0x544]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x52c]
xor ecx, esp
call fcn.1007fec9
add esp, 0x53c
ret 4