Function at 0x42229f
Capabilities:
Check http status code

Disassembly:
push 0xffffffffffffffff
push 0x4cc85a
mov eax, dword fs:[0]
push eax
sub esp, 0x52c
mov eax, dword [0x5107c0]
xor eax, esp
mov dword [esp + 0x528], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5107c0]
xor eax, esp
push eax
lea eax, [esp + 0x540]
mov dword fs:[0], eax
mov ebp, ecx
push str.CDeviceX::InitBD
call dword [sym.imp.VMProtectSDK32.dll_VMProtectBegin]
xor ebx, ebx
lea ecx, [esp + 0x84]
mov byte [esp + 0x16], bl
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
call fcn.0042011c
mov dword [esp + 0x548], ebx
call fcn.004051f5
dec eax
neg eax
push ebx
sbb al, al
inc al
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x70]
sub eax, 0xb
je 0x4223d3
sub eax, 0xa
je 0x4223a1
dec eax
je 0x42236f
push 0xf2bf584d
push 0x2809648f
push 0xd7f29991
call fcn.004017ae
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.00442453
push ebx
push 0x52f15daa
push 0x88476178
push 0x77bc9c0e
jmp 0x422403
push 0xbcd4ac10
push 0x666290da
push 0x99996d5c
call fcn.004017ae
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.00442453
push ebx
push 0x89f49c42
push 0x5342a090
push 0xacb95d76
jmp 0x422403
push 0x40138d90
push 0x9aa5b15f
push 0x655e4cb1
call fcn.004017ae
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.00442453
push ebx
push 0x5fec17a8
push 0x855a2b77
push 0x7aa1d6b7
jmp 0x422403
push 0x2c6ffae2
push 0xf6d9c615
push 0x9223bdf
call fcn.004017ae
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.00442453
push ebx
push 0xc5188da3
push 0x1faeb17c
push 0xe0554c68
mov esi, eax
call fcn.004017ae
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.00442453
mov dword [esp + 0x28], eax
test esi, esi
jne 0x42242a
mov dword [ebp + 0x74], 1
jmp 0x4234bb
mov ecx, dword [ebp + 0x5c]
lea eax, [esp + 0x34]
push eax
push esi
call fcn.00443c4e
mov ebx, eax
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x4234b2
cmp dword [esp + 0x34], 0
je 0x4234b2
lea esi, [ebp + 0x208]
push esi
push dword [esp + 0x38]
push ebx
call fcn.0046c810
push ebx
call fcn.00424b90
mov edx, eax
add esp, 0x10
mov eax, 0x100
movzx ecx, byte [edx + ebx]
imul cx, ax
movzx eax, byte [edx + ebx + 1]
add cx, ax
movzx eax, cx
lea ecx, [esp + 0x44]
mov dword [esp + 0x3c], eax
lea eax, [edx + 0x30]
add eax, ebx
xor ebx, ebx
inc ebx
mov dword [esp + 0x20], eax
push ebx
call fcn.0042f0ed
lea eax, [esp + 0x44]
mov byte [esp + 0x548], bl
push eax
mov ecx, ebp
call fcn.00423505
test al, al
je 0x42347a
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x1a8], ecx
mov dword [ebp + 0x1ac], eax
push 0x17
pop edi
cmp ecx, 0x48141003
jne 0x4224fc
push 0x32fd5f39
push 0xe84b63e4
push 0x17b09e9a
call fcn.004017ae
push eax
push ebx
push dword [ebp + 0x60]
call fcn.0041a053
mov dword [ebp + 0x70], edi
jmp 0x422533
cmp ecx, 0x48151003
jne 0x422515
push 0x8526d996
push 0x5f90e54b
push 0xa06b1829
jmp 0x4224e8
push 0xbad9ff4e
push 0x606fc393
push 0x9f943ec5
call fcn.004017ae
push eax
push ebx
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
push dword [ebp + 0x1ac]
push 0xd76cc4f5
push 0xddaf82b
push 0xf2210571
call fcn.004017ae
add esp, 0xc
push eax
push ebx
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x10
cmp dword [esp + 0x4c], 0x48151003
jne 0x422588
mov dword [ebp + 0x74], 6
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
mov byte [ebp + 0x7a], al
jmp 0x42349c
push 0x240
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
mov edx, 0x100
push 5
pop ecx
push 5
lea eax, [ebx + 0x58]
mov dword [esp + 0x30], ebx
mov edi, eax
mov dword [esp + 0x1c], eax
rep movsd dword es:[edi], dword [esi]
movzx ecx, byte [ebp + 0x7f]
lea edi, [ebx + 0x18]
shl ecx, 8
xor ecx, dword [ebx + 8]
and ecx, edx
mov esi, dword [esp + 0x24]
xor ecx, dword [ebx + 8]
mov dword [ebx + 8], ecx
movzx eax, byte [ebp + 0x80]
shl eax, 9
xor eax, ecx
and eax, 0x200
xor eax, ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp + 0x90]
mov dword [ebx + 0x74], eax
mov al, byte [ebp + 0x70]
mov byte [ebx + 0x3f], al
mov eax, dword [esp + 0x40]
mov word [ebx + 0x14], ax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp + 0x1b0]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp + 0x1b8]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp + 0x1bc]
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp + 0x1c0]
mov dword [ebx + 0x50], eax
mov eax, dword [ebp + 0x1c4]
mov dword [ebx + 0x54], eax
mov eax, dword [ebp + 0x5c]
pop ecx
push 8
mov eax, dword [eax + 0x154]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp + 0x5c]
mov ax, word [eax + 0x152]
mov word [ebx + 0x70], ax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x248]
lea esi, [ebp + 0x251]
mov dword [ebx + 0xf0], eax
lea edi, [ebx + 0xf8]
mov eax, dword [ebp + 0x24c]
mov dword [ebx + 0xf4], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x262]
lea esi, [ebp + 0x267]
mov dword [ebx + 0x108], eax
lea edi, [ebx + 0x10c]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x27c]
lea edi, [ebx + 0x120]
pop ecx
rep movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0x140]
xor ecx, ecx
push ecx
push ecx
push edx
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x94]
push eax
push ecx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x4226d4
dec al
mov byte [ebx + 0x73], al
mov esi, dword [esp + 0x64]
test esi, esi
je 0x4226e6
lea edi, [ebx + 0xe0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push 0xb271bf6a
push 0x68c783b4
push 0x973c7d10
call fcn.004017ae
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.00442453
xor ecx, ecx
test eax, eax
je 0x422719
cmp dword [eax], ecx
je 0x422719
or dword [ebx + 8], 0x400
cmp dword [ebp + 0x70], 0x16
mov ebx, dword [esp + 0x1c]
mov byte [esp + 0x40], cl
mov dword [esp + 0x38], ecx
je 0x422807
cmp dword [ebp + 0x70], 0xb
je 0x422807
test bl, bl
je 0x4227a6
push ecx
call fcn.00428152
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
pop ecx
test eax, eax
je 0x4227ac
lea ecx, [esp + 0x84]
push ecx
push esi
push eax
call fcn.00427fa5
add esp, 0xc
mov byte [esp + 0x40], al
test al, al
je 0x4227ac
cmp byte [esp + 0x8b], 0
jne 0x422789
mov eax, dword [esp + 0xc0]
sub eax, dword [esp + 0xbc]
sar eax, 4
test eax, eax
je 0x4227ac
push dword [ebp + 0x60]
xor edi, edi
lea ecx, [esp + 0x88]
inc edi
mov dword [esp + 0x88], edi
call fcn.00424b11
xor ecx, ecx
jmp 0x4227b1
mov esi, dword [esp + 0x18]
jmp 0x4227ae
xor ecx, ecx
xor edi, edi
inc edi
cmp dword [esp + 0x84], 0
jne 0x42280a
test bl, bl
sete byte [esp + 0x18]
cmp dword [ebp + 0x70], 0x16
je 0x4227ce
cmp dword [ebp + 0x70], 0xb
jne 0x4227d2
mov byte [esp + 0x18], cl
push dword [esp + 0x18]
lea eax, [esp + 0x88]
push eax
push esi
push ecx
mov ecx, ebp
call fcn.0042063e
test al, al
je 0x42280a
push dword [ebp + 0x60]
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], 2
call fcn.00424b11
jmp 0x42280a
xor edi, edi
inc edi
mov ecx, ebp
call fcn.00420545
mov byte [ebp + 0x84], al
test al, al
jne 0x422843
cmp dword [ebp + 0x70], 0x17
je 0x422843
push 0x8b73f388
push 0x51c5cf7e
push 0xae3e31d6
call fcn.004017ae
push eax
push 2
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
cmp byte [0x51ba9c], 0
jne 0x42287c
cmp dword [ebp + 0x70], 0x17
je 0x42287c
test bl, bl
je 0x42287c
push 0x51be60
call fcn.004307e0
mov byte [0x51ba9c], al
and dword [ebp + 0x74], 0
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
pop ecx
mov byte [ebp + 0x7a], al
mov ecx, ebp
call fcn.004204ec
xor ebx, ebx
mov byte [esp + 0x17], al
test al, al
setne bl
push ebx
push 0xe175d16d
push 0x3bc3edb2
push 0xc4381346
call fcn.004017ae
add esp, 0xc
push eax
push edi
push dword [ebp + 0x60]
call fcn.0041a053
mov eax, dword [esp + 0x3c]
xor ecx, ecx
add esp, 0x10
cmp byte [ebp + 0x83], cl
setne cl
shl ebx, 0xb
shl ecx, 0xc
xor ecx, dword [eax + 8]
and ecx, 0x1000
xor ecx, dword [eax + 8]
xor ebx, ecx
and ebx, 0x800
xor ecx, ebx
mov ebx, eax
mov dword [ebx + 8], ecx
movzx eax, byte [ebp + 0x82]
shl eax, 0xd
xor eax, ecx
and eax, 0x2000
xor eax, ecx
mov dword [ebx + 8], eax
cmp byte [ebp + 0x82], 0
jne 0x422933
cmp byte [esp + 0x17], 0
je 0x422933
cmp byte [ebp + 0x83], 0
je 0x422933
lea eax, [ebp + 0x1dc]
mov ecx, ebp
push eax
push 0
call fcn.0041fac3
test al, al
je 0x423383
xor eax, eax
inc eax
mov byte [ebp + 0x81], al
lea eax, [esp + 0x244]
push eax
call fcn.0046db9a
push 2
lea eax, [esp + 0x2c]
mov word [esp + 0x2c], 0xbbaa
push eax
lea eax, [esp + 0x250]
push eax
call fcn.0046dbc2
push dword [esp + 0x44]
mov esi, dword [esp + 0x44]
lea eax, [esp + 0x258]
push esi
push eax
call fcn.0046dbc2
add esp, 0x1c
lea eax, [esp + 0x244]
mov ecx, ebp
push ebx
push eax
call fcn.00420b92
push 0x14
lea ecx, [ebx + 0x58]
mov edi, eax
push ecx
push 0x7dbdc44e
push 0xa70bf890
push 0x58f0066e
mov dword [esp + 0x2c], edi
call fcn.004017ae
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
xor eax, eax
inc eax
push eax
call fcn.0041a1c6
cmp byte [ebp + 0x7f], 0
je 0x4229c2
push ebx
mov ecx, ebp
call fcn.00421549
xor eax, eax
inc eax
cmp byte [esp + 0x8b], 0
mov byte [esp + 0x17], al
je 0x422a2b
push esi
lea eax, [esp + 0xb0]
mov ecx, ebp
push eax
call fcn.00420ec3
test al, al
jne 0x423098
mov dword [ebp + 0x74], 0x1b
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
push 0x79a448ec
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
push 0xa3127423
push 0x5ce98af7
mov byte [ebp + 0x7a], al
call fcn.004017ae
push eax
push 3
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
jmp 0x423380
mov eax, dword [esp + 0xc0]
sub eax, dword [esp + 0xbc]
sar eax, 4
test eax, eax
jne 0x42304a
cmp dword [ebp + 0x70], 0x17
jne 0x422a79
cmp byte [esp + 0x1c], al
je 0x422a79
push edi
mov ecx, ebp
call fcn.004209de
test al, al
je 0x422a79
xor eax, eax
mov dword [esp + 0x84], 4
inc eax
xor ecx, ecx
mov byte [esp + 0x16], al
mov byte [esp + 0x17], cl
jmp 0x4230af
mov dl, byte [esp + 0x89]
test dl, dl
jne 0x422ab2
lea eax, [esp + 0x44]
mov ecx, ebp
push eax
push ebx
lea eax, [esp + 0x94]
push eax
call fcn.0042115c
movzx edx, byte [esp + 0x89]
test al, al
push 1
pop eax
cmovne edx, eax
mov byte [esp + 0x89], dl
jmp 0x422ab5
xor eax, eax
inc eax
cmp dword [ebp + 0x70], 0xb
movzx ecx, byte [esp + 0x8a]
cmove ecx, eax
mov byte [esp + 0x8a], cl
test cl, cl
jne 0x422b00
lea eax, [esp + 0x9c]
mov ecx, ebp
push eax
xor eax, eax
inc eax
push eax
call fcn.0041fac3
movzx ecx, byte [esp + 0x8a]
test al, al
mov dl, byte [esp + 0x89]
push 1
pop eax
cmovne ecx, eax
mov byte [esp + 0x8a], cl
test dl, dl
je 0x422b42
test cl, cl
je 0x422b42
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.00424c73
xor eax, eax
mov dword [esp + 0x90], 3
add esp, 0xc
inc eax
mov byte [esp + 0x8b], al
jmp 0x422ef4
cmp byte [esp + 0x1c], 0
je 0x422e0b
mov eax, dword [0x52181c]
test dword [eax + 0x14], 0x2000000
je 0x422ded
push 0x17b
lea eax, [esp + 0xcd]
push 0
push eax
call fcn.004b6030
xor eax, eax
mov byte [esp + 0xd7], 0xef
inc eax
add esp, 0xc
mov byte [esp + 0xc8], al
mov al, byte [ebp + 0x70]
mov byte [esp + 0xc9], al
mov al, byte [ebx + 0x73]
mov byte [esp + 0xca], al
call fcn.004031b9
mov esi, dword [esp + 0x20]
lea edi, [esp + 0xe0]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xcc], eax
mov eax, dword [ebp + 0x1ac]
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x110], edx
push 5
pop ecx
mov eax, dword [eax + 0x154]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x3c]
mov word [esp + 0xdc], ax
mov eax, dword [ebx + 0xac]
mov dword [esp + 0xd8], 0xa5f
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x58]
lea edi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x64]
lea esi, [esp + 0x9c]
mov dword [esp + 0x104], eax
lea edi, [esp + 0x114]
mov eax, dword [ebx + 0xb0]
mov dword [esp + 0x108], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test ecx, ecx
je 0x422c9b
mov esi, 0x80000
test dword [ebx + 8], esi
jne 0x422c73
lea eax, [ebx + 0xd0]
push eax
lea ecx, [esp + 0x48]
call fcn.0042f14e
xor ecx, ecx
mov byte [ebx + 0xb], al
cmp al, 0xff
setne cl
shl ecx, 0x13
xor ecx, dword [ebx + 8]
and ecx, esi
xor dword [ebx + 8], ecx
mov ecx, dword [esp + 0x64]
mov al, byte [ebx + 0xb]
lea esi, [ebx + 0xd0]
mov byte [esp + 0xde], al
lea edi, [esp + 0x124]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
lea edi, [esp + 0x134]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, byte [esp + 0xca]
push eax
lea eax, [ebx + 0x140]
push eax
lea eax, [esp + 0x14c]
push eax
call fcn.004b91d0
xor eax, eax
push 0x28c
push eax
mov dword [esp + 0x2c0], eax
lea eax, [esp + 0x2c4]
push eax
call fcn.004b6030
lea eax, [esp + 0x2c4]
push eax
movzx eax, byte [esp + 0xe6]
add eax, 0x7c
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.004302f7
add esp, 0x24
cmp eax, 0xc8
jne 0x422de0
cmp dword [esp + 0x2ac], 0x12bfbbef
jne 0x422dc4
mov eax, dword [esp + 0x2b4]
xor ecx, ecx
inc ecx
test cl, al
je 0x422d44
lea esi, [esp + 0x2bc]
lea edi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x84], 4
jmp 0x422eed
shr eax, 0x10
test eax, eax
je 0x423380
mov word [ebp + 0x1ec], ax
shl eax, 4
push eax
call fcn.00407458
pop ecx
lea ecx, [esp + 0x2ac]
mov dword [ebp + 0x1d8], eax
call fcn.004218b8
mov dword [esp + 0x20], eax
xor ecx, ecx
xor eax, eax
mov edx, ecx
cmp ax, word [ebp + 0x1ec]
jae 0x422dad
mov ebx, dword [esp + 0x20]
mov edi, dword [ebp + 0x1d8]
lea esi, [ebx + ecx]
add edi, ecx
inc edx
add ecx, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebp + 0x1ec]
cmp edx, eax
jb 0x422d89
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x84], 4
xor eax, eax
inc eax
mov byte [esp + 0x16], al
jmp 0x4230af
push 0x6aa4ea47
push 0xb012d689
push 0x4fe92847
call fcn.004017ae
push eax
push 2
jmp 0x422a1b
push eax
mov ecx, ebp
call fcn.0042a170
jmp 0x423380
push 0xd8a07d36
push 0x21641fe
push 0xfdedbfdc
call fcn.004017ae
push eax
xor eax, eax
inc eax
push eax
jmp 0x422a1b
movzx eax, byte [ebp + 0x6a]
push eax
push 0x66
push 0x2800
push dword [0x521814]
call dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
inc edi
cmp eax, edi
jne 0x423383
push ebx
lea ecx, [esp + 0x88]
call fcn.00420075
cmp dword [esp + 0x64], 0
je 0x422e6b
lea eax, [ebx + 0xd0]
push eax
lea ecx, [esp + 0x48]
call fcn.0042f14e
xor ecx, ecx
mov byte [ebx + 0xb], al
cmp al, 0xff
setne cl
shl ecx, 0x13
xor ecx, dword [ebx + 8]
and ecx, 0x80000
xor dword [ebx + 8], ecx
or dword [ebx + 8], 0x200000
xor eax, eax
push 0x28c
push eax
mov dword [esp + 0x2b4], eax
lea eax, [esp + 0x2b8]
push eax
call fcn.004b6030
lea eax, [esp + 0x2b8]
push eax
push ebx
call fcn.00430409
and dword [ebx + 8], 0xffdfffff
add esp, 0x14
cmp eax, 0xc8
jne 0x422fc3
cmp dword [esp + 0x2ac], 0x7302ac85
jne 0x422faa
mov eax, dword [esp + 0x2b4]
xor ecx, ecx
inc ecx
test cl, al
je 0x422f31
lea esi, [esp + 0x2bc]
lea edi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x84], 5
mov byte [esp + 0x8b], cl
push dword [esp + 0x30]
lea eax, [esp + 0xb0]
mov ecx, ebp
push eax
call fcn.00420ec3
mov byte [esp + 0x16], al
test al, al
jne 0x42309f
mov dword [ebp + 0x74], 0x1b
mov cl, byte [ebp + 0x26]
mov byte [ebp + 0x78], cl
mov cl, byte [ebp + 0x30]
mov byte [ebp + 0x79], cl
mov cl, byte [ebp + 0x31]
mov byte [ebp + 0x7a], cl
jmp 0x423380
shr eax, 0x10
test eax, eax
je 0x423380
mov word [ebp + 0x1ec], ax
shl eax, 4
push eax
call fcn.00407458
pop ecx
lea ecx, [esp + 0x2ac]
mov dword [ebp + 0x1d8], eax
call fcn.004218e3
mov dword [esp + 0x20], eax
xor ecx, ecx
xor eax, eax
mov edx, ecx
cmp ax, word [ebp + 0x1ec]
jae 0x422f9a
mov ebx, dword [esp + 0x20]
mov edi, dword [ebp + 0x1d8]
lea esi, [ebx + ecx]
add edi, ecx
inc edx
add ecx, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebp + 0x1ec]
cmp edx, eax
jb 0x422f76
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x84], 5
jmp 0x422db8
push 0xa42ae5d1
push 0x7e9cd91f
push 0x81672713
call fcn.004017ae
push eax
push 2
jmp 0x42303a
cmp eax, 0x1d7
jne 0x422fdb
push 0x84cd9c30
push 0x5e7ba0f5
push 0xa1805e95
jmp 0x423032
cmp eax, 0x1d6
jne 0x422ff3
push 0x4af0f5b0
push 0x9046c97d
push 0x6fbd3721
jmp 0x423032
cmp eax, 0x1d8
jne 0x42300b
push 0xd855cf3d
push 0x2e3f3cd
push 0xfd180c7d
jmp 0x423032
cmp eax, 0x1d9
jne 0x423023
push 0xeb8c923a
push 0x313aaee3
push 0xcec15179
jmp 0x423032
push 0x6d611b5f
push 0xb7d72792
push 0x482cd818
call fcn.004017ae
push eax
push 3
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
jmp 0x423383
movzx eax, ax
mov word [ebp + 0x1ec], ax
shl eax, 4
push eax
call fcn.00407458
pop ecx
mov dword [ebp + 0x1d8], eax
xor ecx, ecx
xor eax, eax
mov edx, ecx
cmp ax, word [ebp + 0x1ec]
jae 0x423098
mov esi, dword [esp + 0xbc]
mov edi, dword [ebp + 0x1d8]
add edi, ecx
inc edx
lea esi, [esi + ecx]
add ecx, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebp + 0x1ec]
cmp edx, eax
jb 0x423073
xor eax, eax
inc eax
mov byte [esp + 0x16], al
cmp dword [esp + 0x84], 2
je 0x423193
xor ecx, ecx
cmp dword [ebp + 0x70], 0x16
je 0x423193
cmp dword [ebp + 0x70], 0xb
je 0x423193
cmp byte [esp + 0x1c], 0
je 0x423235
cmp byte [esp + 0x89], 0
je 0x423110
push ecx
push ecx
lea eax, [esp + 0x94]
push eax
call fcn.00423e10
add esp, 0xc
push eax
push 0x44ff823e
push 0x9e49bee1
push 0x61b24127
call fcn.004017ae
add esp, 0xc
push eax
push 5
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x10
cmp byte [esp + 0x8a], 0
je 0x423146
push 0x10
lea eax, [esp + 0xa0]
push eax
push 0xbe203d1
push 0xd1543f00
push 0x2eafc0c8
call fcn.004017ae
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.0041a1c6
cmp byte [esp + 0x8b], 0
je 0x423235
xor eax, eax
push eax
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.00423e10
add esp, 0xc
push eax
push 0x729e0fc5
push 0xa828331a
push 0x57d3cc2a
call fcn.004017ae
add esp, 0xc
push eax
push 5
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x10
jmp 0x423235
cmp byte [esp + 0x89], 0
je 0x4231c9
push 0x10
lea eax, [esp + 0x90]
push eax
push 0xb61bff19
push 0x6cadc3c8
push 0x93563c26
call fcn.004017ae
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.0041a1c6
cmp byte [esp + 0x8a], 0
je 0x4231ff
push 0x10
lea eax, [esp + 0xa0]
push eax
push 0xb0e1a42b
push 0x6a5798fa
push 0x95ac672c
call fcn.004017ae
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.0041a1c6
cmp byte [esp + 0x8b], 0
je 0x423235
push 0x10
lea eax, [esp + 0xb0]
push eax
push 0xfe87d467
push 0x2431e8b6
push 0xdbca1768
call fcn.004017ae
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.0041a1c6
push ebx
lea ecx, [esp + 0x88]
call fcn.00420075
lea eax, [esp + 0x44]
mov ecx, ebp
push eax
push ebx
call fcn.004218fd
test al, al
jne 0x42325c
mov byte [esp + 0x16], al
jmp 0x423380
push 0x1e384b57
push 0xc48e7781
push 0x3b7588bb
call fcn.004017ae
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0041a053
mov eax, dword [esp + 0x9c]
add esp, 0x18
dec eax
je 0x4232da
dec eax
je 0x4232c9
dec eax
je 0x4232b8
dec eax
je 0x4232a7
dec eax
jne 0x4232fe
push 0xec54a33f
push 0x36e29fc2
push 0xc9196f66
jmp 0x4232e9
push 0xefa746c9
push 0x35117a3c
push 0xcaea8564
jmp 0x4232e9
push 0x2446e2ad
push 0xfef0de66
push 0x10b211c
jmp 0x4232e9
push 0xb5a63cf9
push 0x6f100032
push 0x90ebff36
jmp 0x4232e9
push 0x21ded272
push 0xfb68eebe
push 0x4931198
call fcn.004017ae
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
mov esi, 0x100000
or dword [ebx + 8], esi
cmp byte [esp + 0x17], 0
je 0x42332b
mov eax, dword [esp + 0x18]
test eax, eax
je 0x42332b
push eax
mov ecx, ebp
call fcn.0042481a
movzx eax, al
shl eax, 0x14
xor eax, dword [ebx + 8]
and eax, esi
xor dword [ebx + 8], eax
push 0xa8caf08d
push 0x727ccc43
push 0x8d873ccb
call fcn.004017ae
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
cmp dword [ebp + 0x228], 0
je 0x42337c
push 0x39f213d
push 0xd9291df2
push 0x26d2ed1e
call fcn.004017ae
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
and dword [ebx + 0xc], 0
xor edi, edi
inc edi
push dword [esp + 0x30]
call fcn.0040746c
cmp byte [esp + 0x1a], 0
pop ecx
je 0x4233a8
test dword [ebx + 8], 0x20000
je 0x4233a8
lea eax, [ebx + 0x7c]
mov ecx, ebp
push eax
call fcn.0042478c
xor ecx, ecx
cmp dword [ebp + 0x74], ecx
jne 0x4233d5
cmp word [ebp + 0x1ec], cx
jne 0x4233d5
mov dword [ebp + 0x74], 0x1a
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
mov byte [ebp + 0x7a], al
mov byte [esp + 0x16], cl
mov ecx, ebp
call fcn.00425d10
mov esi, dword [esp + 0x38]
mov dword [ebx + 0xc], eax
test esi, esi
je 0x4233fc
push dword [esp + 0x40]
push ebp
push ebx
push esi
call fcn.0042829a
push esi
call fcn.00472894
add esp, 0x14
mov eax, dword [0x52181c]
test dword [eax + 0x14], 0x8000000
je 0x423441
cmp byte [esp + 0x16], 0
jne 0x423441
mov eax, dword [ebp + 0x74]
test eax, eax
jle 0x423438
cmp eax, 2
jle 0x423441
cmp eax, 0x1a
je 0x423441
cmp eax, 0x20
je 0x423441
add eax, 0xffffffdf
cmp eax, edi
ja 0x423438
cmp dword [esp + 0x84], 5
je 0x423441
push ebx
call fcn.0042fd99
pop ecx
jmp 0x423458
push 0x240
xor eax, eax
push eax
push ebx
call fcn.004b6030
push ebx
call fcn.0040746c
add esp, 0x10
lea ecx, [esp + 0x84]
call fcn.0042011c
call dword [sym.imp.VMProtectSDK32.dll_VMProtectEnd]
xor esi, esi
cmp byte [esp + 0x16], 0
cmovne esi, dword [esp + 0x28]
xor eax, eax
jmp 0x4234a0
push 0xcf9628e5
push 0x15201421
push 0xeadbe96f
call fcn.004017ae
push eax
push 2
push dword [ebp + 0x60]
call fcn.0041a053
add esp, 0x18
xor eax, eax
mov esi, eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x548], al
call fcn.0042f109
jmp 0x4234cf
mov dword [ebp + 0x74], 0xd
xor ebx, ebx
mov al, byte [ebp + 0x26]
mov esi, ebx
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
mov byte [ebp + 0x7a], al
lea ecx, [esp + 0xbc]
call fcn.0040ad0f
mov eax, esi
mov ecx, dword [esp + 0x540]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x528]
xor ecx, esp
call fcn.004b35e5
add esp, 0x538
ret