Function at 0x429390
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x560063
mov eax, dword fs:[0]
push eax
sub esp, 0x1f0
mov eax, dword [0x5be26c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1f8], edi
xor eax, eax
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 7
mov word [ebp - 0x6c], ax
mov edx, dword [str._from]
mov ecx, edx
mov dword [ebp - 4], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], 7
mov word [ebp - 0xe4], ax
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429400
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0xe4]
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 1
push eax
call fcn.00506c40
mov edx, dword [ebp - 0xd0]
mov byte [ebp - 4], 0
cmp edx, 8
jb 0x429477
mov ecx, dword [ebp - 0xe4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42946d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a14f
push edx
push ecx
call fcn.0046c2cf
add esp, 8
xor eax, eax
mov dword [ebp - 0xd4], 0
mov word [ebp - 0xe4], ax
xor ebx, ebx
mov dword [ebp - 0xd0], 7
mov eax, 0x31a4
mov word [ebp - 0x24], ax
mov edi, 0xf
mov word [ebp - 0x22], ax
mov eax, 0x31bc
mov word [ebp - 0x20], ax
mov eax, 0x31a7
mov word [ebp - 0x1e], ax
mov eax, 0x3185
mov word [ebp - 0x1c], ax
mov eax, 0x31ba
mov word [ebp - 0x1a], ax
mov eax, 0x31b8
mov word [ebp - 0x18], ax
mov eax, 0x31b4
mov word [ebp - 0x16], ax
mov eax, 0x31bf
mov word [ebp - 0x14], ax
mov eax, 0x31d9
mov word [ebp - 0x12], ax
mov ax, word [ebp - 0x24]
mov ax, word [ebp + ebx*2 - 0x24]
mov ecx, ebx
and ecx, edi
movzx esi, ax
cmp ecx, edi
mov eax, 0x892a31cc
mov edx, 0x83b5d1c5
cmovae ecx, edi
shl ecx, 2
call fcn.0046c590
and ax, 0xf
lea ecx, [ebx + 0x31cc]
xor ax, cx
xor ax, si
mov word [ebp + ebx*2 - 0x24], ax
inc ebx
cmp ebx, 0xa
jb 0x4294f4
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00409ac0
mov edi, dword [ebp - 0x1f8]
add esp, 8
test al, al
je 0x429558
push 8
push str.manually
jmp 0x429606
mov edx, dword [str._start_from]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 7
mov word [ebp - 0x174], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429580
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x174]
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x174]
mov byte [ebp - 4], 2
push eax
call fcn.00506c40
lea ecx, [ebp - 0x174]
mov byte [ebp - 4], 0
call fcn.0040bbd0
lea eax, [ebp - 0x6c]
push 0x573328
push eax
call fcn.00409ac0
add esp, 8
test al, al
je 0x4295e0
push 5
push str.popup
jmp 0x429606
cmp dword [ebp - 0x5c], 0
je 0x4295ff
cmp dword [ebp - 0x58], 8
lea eax, [ebp - 0x6c]
mov ecx, dword [edi + 0x54]
cmovae eax, dword [ebp - 0x6c]
add ecx, 0x18
push eax
call fcn.0040c1c0
jmp 0x429611
push 4
push str.self
mov ecx, dword [edi + 0x54]
lea ecx, [ecx + 0x18]
call fcn.0041f550
xor eax, eax
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 7
mov word [ebp - 0xcc], ax
lea eax, [ebp - 0xcc]
mov byte [ebp - 4], 3
push eax
call fcn.004617d0
mov ebx, dword [edi + 0x54]
lea edx, [ebp - 0xcc]
add esp, 4
cmp dword [ebp - 0xb8], 8
cmovae edx, dword [ebp - 0xcc]
test edx, edx
jne 0x429660
xor ecx, ecx
jmp 0x429674
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429665
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0x28]
call fcn.0041f550
lea eax, [ebp - 0x1ec]
push eax
call fcn.0045e360
add esp, 4
mov edx, eax
cmp dword [edx + 0x14], 8
mov byte [ebp - 4], 4
jb 0x42969b
mov edx, dword [edx]
mov esi, dword [edi + 0x54]
test edx, edx
jne 0x4296a6
xor ecx, ecx
jmp 0x4296bf
mov ecx, edx
lea ebx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4296b0
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [esi + 0x24]
call fcn.0041f550
mov edx, dword [ebp - 0x1d8]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x42970d
mov ecx, dword [ebp - 0x1ec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x429703
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a154
push edx
push ecx
call fcn.0046c2cf
add esp, 8
push ecx
push esp
call fcn.0045e270
add esp, 4
lea eax, [ebp - 0x1fc]
push eax
call fcn.0045db20
add esp, 8
mov ecx, dword [edi + 0x54]
push eax
add ecx, 0x20
mov byte [ebp - 4], 5
call fcn.0040c150
mov edx, dword [ebp - 0x1fc]
or eax, 0xffffffff
mov byte [ebp - 4], 3
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x429758
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
push 6
push 0x573f90
lea ecx, [ebp - 0xfc]
mov byte [ebp - 4], 6
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], 7
mov word [ebp - 0xfc], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xfc]
mov byte [ebp - 4], 7
push eax
call fcn.00506c40
mov edx, dword [ebp - 0xe8]
mov byte [ebp - 4], 6
cmp edx, 8
jb 0x4297f4
mov ecx, dword [ebp - 0xfc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4297ea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a159
push edx
push ecx
call fcn.0046c2cf
add esp, 8
cmp dword [ebp - 0x44], 0
je 0x42983b
cmp dword [ebp - 0x40], 8
lea edx, [ebp - 0x54]
mov ebx, dword [edi + 0x54]
cmovae edx, dword [ebp - 0x54]
test edx, edx
jne 0x42981a
xor ecx, ecx
push ecx
push edx
lea ecx, [ebx + 0x1c]
call fcn.0041f550
jmp 0x42984a
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429820
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0x1c]
call fcn.0041f550
jmp 0x42984a
mov ecx, dword [edi + 0x54]
lea eax, [ecx + 0x20]
add ecx, 0x1c
push eax
call fcn.0040c150
xor eax, eax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 7
mov word [ebp - 0xb4], ax
push 5
push 0x573ec4
lea ecx, [ebp - 0x114]
mov byte [ebp - 4], 8
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], 7
mov word [ebp - 0x114], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], 9
call fcn.00506d80
mov edx, dword [ebp - 0x100]
mov esi, eax
mov byte [ebp - 4], 8
cmp edx, 8
jb 0x4298ed
mov ecx, dword [ebp - 0x114]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4298e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a15e
push edx
push ecx
call fcn.0046c2cf
add esp, 8
test esi, esi
je 0x42998a
push 5
xor eax, eax
mov dword [ebp - 0x17c], 0
push 0x573ec4
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x178], 7
mov word [ebp - 0x18c], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0xa
push eax
call fcn.00506c40
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 8
call fcn.0040bbd0
cmp dword [ebp - 0xa0], 8
lea edx, [ebp - 0xb4]
mov ebx, dword [edi + 0x54]
cmovae edx, dword [ebp - 0xb4]
test edx, edx
jne 0x42996c
xor ecx, ecx
jmp 0x429980
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429971
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 8]
call fcn.0041f550
mov esi, dword [edi + 0x54]
mov ebx, 1
mov ecx, ebx
mov edx, dword [esi]
mov eax, dword [edx - 8]
sub ecx, dword [edx - 4]
sub eax, 0x104
or eax, ecx
jge 0x4299b3
push 0x104
mov ecx, esi
call fcn.0041d0c0
mov edx, dword [esi]
cmp dword [edx - 8], 0x104
jl 0x42a163
mov dword [edx - 0xc], 0x104
xor ecx, ecx
mov eax, dword [esi]
push 0x104
push edx
mov word [eax + 0x208], cx
call fcn.00511120
mov esi, dword [edi + 0x54]
mov eax, dword [esi]
test eax, eax
jne 0x4299ea
xor ecx, ecx
jmp 0x429a00
push dword [eax - 8]
push eax
call fcn.0051aa23
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x42a163
mov eax, dword [esi]
cmp ecx, dword [eax - 8]
jg 0x42a163
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [esi]
mov word [eax + ecx*2], dx
mov esi, dword [edi + 0x54]
mov ecx, dword [esi + 4]
mov eax, dword [ecx - 8]
sub ebx, dword [ecx - 4]
sub eax, 0x104
or eax, ebx
jge 0x429a3b
push 0x104
lea ecx, [esi + 4]
call fcn.0041d0c0
mov ecx, dword [esi + 4]
cmp dword [ecx - 8], 0x104
jl 0x42a16d
mov dword [ecx - 0xc], 0x104
xor edx, edx
mov eax, dword [esi + 4]
push 0x104
push ecx
mov word [eax + 0x208], dx
call fcn.005115d0
mov esi, dword [edi + 0x54]
mov eax, dword [esi + 4]
test eax, eax
jne 0x429a74
xor ecx, ecx
jmp 0x429a8a
push dword [eax - 8]
push eax
call fcn.0051aa23
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x42a163
mov eax, dword [esi + 4]
cmp ecx, dword [eax - 8]
jg 0x42a163
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [esi + 4]
mov word [eax + ecx*2], dx
xor eax, eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
push 8
push str.channel2
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], 7
mov word [ebp - 0x12c], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x12c]
push eax
mov byte [ebp - 4], 0xc
call fcn.00506d80
mov edx, dword [ebp - 0x118]
mov esi, eax
mov byte [ebp - 4], 0xb
cmp edx, 8
jb 0x429b38
mov ecx, dword [ebp - 0x12c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x429b2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a177
push edx
push ecx
call fcn.0046c2cf
add esp, 8
test esi, esi
je 0x429bfd
push 8
xor eax, eax
mov dword [ebp - 0x194], 0
push str.channel2
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x190], 7
mov word [ebp - 0x1a4], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x1a4]
mov byte [ebp - 4], 0xd
push eax
call fcn.00506c40
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 0xb
call fcn.0040bbd0
cmp dword [ebp - 0x28], 8
lea edx, [ebp - 0x3c]
mov ebx, dword [edi + 0x54]
cmovae edx, dword [ebp - 0x3c]
test edx, edx
jne 0x429bab
xor ecx, ecx
jmp 0x429bbf
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429bb0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0xc]
call fcn.0041f550
cmp dword [ebp - 0x28], 8
lea edx, [ebp - 0x3c]
mov ebx, dword [edi + 0x54]
cmovae edx, dword [ebp - 0x3c]
test edx, edx
jne 0x429bdf
xor ecx, ecx
jmp 0x429bf3
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429be4
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0x2c]
call fcn.0041f550
xor eax, eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
push 8
push str.pushtype
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], 7
mov word [ebp - 0x144], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x144]
push eax
mov byte [ebp - 4], 0xf
call fcn.00506d80
mov edx, dword [ebp - 0x130]
mov esi, eax
mov byte [ebp - 4], 0xe
cmp edx, 8
jb 0x429ca0
mov ecx, dword [ebp - 0x144]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x429c96
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a17c
push edx
push ecx
call fcn.0046c2cf
add esp, 8
test esi, esi
je 0x429d3d
push 8
xor eax, eax
mov dword [ebp - 0x1ac], 0
push str.pushtype
lea ecx, [ebp - 0x1bc]
mov dword [ebp - 0x1a8], 7
mov word [ebp - 0x1bc], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1bc]
mov byte [ebp - 4], 0x10
push eax
call fcn.00506c40
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0xe
call fcn.0040bbd0
cmp dword [ebp - 0x88], 8
lea edx, [ebp - 0x9c]
mov ebx, dword [edi + 0x54]
cmovae edx, dword [ebp - 0x9c]
test edx, edx
jne 0x429d1f
xor ecx, ecx
jmp 0x429d33
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429d24
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebx + 0x10]
call fcn.0041f550
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
push 5
push str.exapp
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], 7
mov word [ebp - 0x15c], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 0x12
call fcn.00506d80
mov edx, dword [ebp - 0x148]
mov esi, eax
mov byte [ebp - 4], 0x11
cmp edx, 8
jb 0x429dda
mov ecx, dword [ebp - 0x15c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x429dd0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a181
push edx
push ecx
call fcn.0046c2cf
add esp, 8
test esi, esi
je 0x429e79
push 5
xor eax, eax
mov dword [ebp - 0x1c4], 0
push str.exapp
lea ecx, [ebp - 0x1d4]
mov dword [ebp - 0x1c0], 7
mov word [ebp - 0x1d4], ax
call fcn.00421290
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x13
push eax
call fcn.00506c40
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x11
call fcn.0040bbd0
cmp dword [ebp - 0x70], 8
lea edx, [ebp - 0x84]
mov esi, dword [edi + 0x54]
cmovae edx, dword [ebp - 0x84]
test edx, edx
jne 0x429e56
xor ecx, ecx
jmp 0x429e6f
mov ecx, edx
lea ebx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x429e60
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [esi + 0x14]
call fcn.0041f550
mov esi, dword [edi + 0x54]
push 0x573c40
mov dword [ebp - 0x1f4], 0
add esi, 0x3c
mov dword [ebp - 0x1f0], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x429ed2
push str.RtlGetNtVersionNumbers
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x429ecb
push esi
lea ecx, [ebp - 0x1f0]
push ecx
lea ecx, [ebp - 0x1f4]
push ecx
call eax
xor eax, eax
mov word [esi + 2], ax
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push dword [ebp - 0x1f0]
mov eax, dword [edi + 0x54]
push dword [ebp - 0x1f4]
add eax, 0x38
push str._d._d
push eax
call fcn.00417390
mov edx, dword [ebp - 0x70]
add esp, 0x10
cmp edx, 8
jb 0x429f2f
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x429f25
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a186
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov edx, dword [ebp - 0x88]
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
cmp edx, 8
jb 0x429f86
mov ecx, dword [ebp - 0x9c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x429f7c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a18b
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov edx, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
cmp edx, 8
jb 0x429fdd
mov ecx, dword [ebp - 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x429fd3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a190
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov edx, dword [ebp - 0xa0]
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
cmp edx, 8
jb 0x42a031
mov ecx, dword [ebp - 0xb4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42a027
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a195
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov edx, dword [ebp - 0x40]
xor eax, eax
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 7
mov word [ebp - 0xb4], ax
cmp edx, 8
jb 0x42a088
mov ecx, dword [ebp - 0x54]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42a07e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a19a
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov edx, dword [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
cmp edx, 8
jb 0x42a0dc
mov ecx, dword [ebp - 0xcc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42a0d2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a19f
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov edx, dword [ebp - 0x58]
xor eax, eax
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 7
mov word [ebp - 0xcc], ax
cmp edx, 8
jb 0x42a133
mov ecx, dword [ebp - 0x6c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42a129
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42a1a4
push edx
push ecx
call fcn.0046c2cf
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046c16d
mov esp, ebp
pop ebp
ret
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
push 0x80070057
call fcn.00410dc0
push 0x80070057
call fcn.00410dc0
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
call fcn.0051a7fc
int3