Function at 0x41a84c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x41a855
mov eax, dword [ebp - 4]
add esp, 0xfffffb0c
push ebx
push esi
push edi
mov eax, 0x52dcc4
call fcn.0049b3b8
mov word [ebp - 0x128], 8
xor edx, edx
lea edi, [ebp - 0x1484]
mov dword [ebp - 4], edx
mov ecx, 0x400
inc dword [ebp - 0x11c]
mov word [ebp - 0x128], 0x14
push esi
mov esi, 0x50aa3a
rep movsd dword es:[edi], dword [esi]
pop esi
xor eax, eax
mov byte [ebp - 0x175], 0
mov byte [ebp - 0x176], 0
mov dword [ebp - 0x184], 3
mov dword [ebp - 0x180], eax
xor edx, edx
mov word [ebp - 0x128], 0x20
mov dword [ebp - 8], edx
lea edi, [ebp - 0x151c]
inc dword [ebp - 0x11c]
mov ecx, 0xd
mov word [ebp - 0x128], 0x14
push esi
mov esi, 0x50ba3a
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp + 0xc]
pop esi
mov edx, dword [eax + 0x68]
mov dword [ebp - 0x17c], edx
push 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4c]
mov ecx, 0xff0000
add eax, eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
mov edx, dword [eax*8 + 0x4a9a40]
mov eax, dword [ebp + 0x10]
call fcn.004075c4
xor ebx, ebx
lea eax, [ebp - 0x160]
mov dword [ebp - 0x1d0], eax
mov edx, dword [ebp - 0x1d0]
mov byte [edx], 0
inc ebx
inc dword [ebp - 0x1d0]
cmp ebx, 6
jl 0x41a937
xor ebx, ebx
lea eax, [ebp - 0x14f]
mov dword [ebp - 0x1d0], eax
mov edx, dword [ebp - 0x1d0]
mov byte [edx], 0
inc ebx
inc dword [ebp - 0x1d0]
cmp ebx, 3
jl 0x41a95a
xor ebx, ebx
lea eax, [ebp - 0x464]
mov dword [ebp - 0x1d4], eax
lea edx, [ebp - 0x444]
mov dword [ebp - 0x1d0], edx
mov ecx, dword [ebp - 0x1d0]
mov byte [ecx], 0
mov eax, dword [ebp - 0x1d4]
mov byte [eax], 0
inc ebx
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d0]
cmp ebx, 0x18
jl 0x41a989
push 4
push 0
lea edx, [ebp - 0x14c]
push edx
call fcn.0049af44
add esp, 0xc
xor ebx, ebx
mov byte [ebp - 0x14c], 0x90
push 0
push 0
push 0
push 0x1f4
push 0
push 0
push 0
lea eax, [ebp - 0x14c]
push 0
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
mov esi, eax
test esi, esi
je 0x41aa03
inc ebx
cmp ebx, 2
jl 0x41a9c9
test esi, esi
je 0x41aa39
push 0
mov ecx, 0xff
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp + 0x10]
add edx, edx
lea edx, [edx + edx*4]
lea edx, [edx + edx*8]
mov edx, dword [edx*8 + 0x4a99d4]
call fcn.004075c4
mov word [ebp - 0x128], 0x14
jmp 0x41defb
push 0
lea eax, [ebp - 0x164]
push 1
push eax
lea edx, [ebp - 0x158]
lea ecx, [ebp - 0x464]
push edx
push ecx
lea eax, [ebp - 0x154]
lea edx, [ebp - 0x444]
push eax
push edx
lea ecx, [ebp - 0x160]
lea eax, [ebp - 0x14f]
push ecx
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp - 0x17c]
push ecx
mov eax, dword [ebp + 0x10]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.0040a180
add esp, 0x38
mov esi, eax
test esi, esi
je 0x41aaa1
mov word [ebp - 0x128], 0x14
jmp 0x41defb
xor ebx, ebx
lea eax, [ebp - 0x154c]
mov dword [ebp - 0x1d0], eax
lea edx, [ebp - 0x1534]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
mov byte [ecx], 0
mov eax, dword [ebp - 0x1d0]
mov byte [eax], 0
inc ebx
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1d4]
cmp ebx, 0x18
jl 0x41aabb
push 5
push 0
lea edx, [ebp - 0x18c]
push edx
call fcn.0049af44
add esp, 0xc
lea ecx, [ebp - 0x194]
push 5
push 0
push ecx
call fcn.0049af44
lea eax, [ebp - 0x464]
add esp, 0xc
mov dword [ebp - 0x1d4], eax
lea edx, [ebp - 0x444]
mov dword [ebp - 0x1d0], edx
xor ebx, ebx
mov ecx, dword [ebp - 0x1d0]
cmp byte [ecx], 1
jne 0x41ab56
mov ecx, ebx
and ecx, 0x80000007
jns 0x41ab39
dec ecx
or ecx, 0xfffffff8
inc ecx
mov al, 1
mov edx, ebx
shl al, cl
test edx, edx
jns 0x41ab46
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x18c], al
inc byte [ebp - 0x188]
mov eax, dword [ebp - 0x1d4]
cmp byte [eax], 1
jne 0x41ab8d
mov ecx, ebx
and ecx, 0x80000007
jns 0x41ab70
dec ecx
or ecx, 0xfffffff8
inc ecx
mov dl, 1
mov eax, ebx
shl dl, cl
test eax, eax
jns 0x41ab7d
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x194], dl
inc byte [ebp - 0x190]
inc ebx
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d0]
cmp ebx, 0x18
jl 0x41ab1f
xor ebx, ebx
lea eax, [ebp - 0x156c]
mov dword [ebp - 0x1d0], eax
lea edx, [ebp - 0x444]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d0]
inc ebx
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1d4]
cmp ebx, 0x18
jl 0x41abb9
xor ebx, ebx
lea eax, [ebp - 0x158c]
mov dword [ebp - 0x1d4], eax
lea edx, [ebp - 0x464]
mov dword [ebp - 0x1d0], edx
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1d4]
inc ebx
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d0]
cmp ebx, 0x18
jl 0x41abf5
xor ebx, ebx
lea eax, [ebp - 0x14f]
mov dword [ebp - 0x1d0], eax
lea edx, [ebp - 0x160]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d4]
inc ebx
mov al, byte [ecx]
mov ecx, dword [ebp - 0x1d0]
or al, byte [edx + 3]
or byte [ecx], al
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1d4]
cmp ebx, 3
jl 0x41ac31
xor ebx, ebx
lea eax, [ebp - 0x484]
mov dword [ebp - 0x1d0], eax
mov edx, dword [ebp - 0x1d0]
mov byte [edx], 0
inc ebx
inc dword [ebp - 0x1d0]
cmp ebx, 0x18
jl 0x41ac6a
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x4c], 1
jne 0x41ac9e
push 0
mov edx, 0x52bf45
mov ecx, 0xff0000
mov eax, dword [ebp + 0x10]
call fcn.004075c4
jmp 0x41acb2
push 0
mov edx, str.Analyzing_D_and_D_...
mov ecx, 0xff0000
mov eax, dword [ebp + 0x10]
call fcn.004075c4
mov dword [ebp - 0x164], 0x18
cmp dword [ebp - 0x17c], 0
jle 0x41ace4
mov eax, dword [ebp - 0x17c]
mov edx, eax
shl eax, 5
sub eax, edx
mov ecx, dword [eax*4 + 0x4ad294]
mov dword [ebp - 0x164], ecx
jmp 0x41ae36
mov dword [ebp - 0x1d0], 0x4ad294
xor ebx, ebx
mov eax, dword [ebp - 0x17c]
mov edx, eax
shl eax, 5
sub eax, edx
mov ecx, dword [ebp - 0x1d0]
cmp dword [ecx + eax*4 + 4], 0
je 0x41ae25
mov eax, dword [ebp - 0x17c]
mov edx, eax
shl eax, 5
sub eax, edx
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx + eax*4 + 4]
cmp byte [ebp + eax - 0x485], 1
jne 0x41ad6b
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov eax, dword [ebp - 0x1d0]
mov edx, dword [eax + edx*4 + 4]
cmp edx, dword [ebp - 0x164]
jle 0x41ad6b
mov ecx, dword [ebp - 0x17c]
mov eax, ecx
shl ecx, 5
sub ecx, eax
mov edx, dword [ebp - 0x1d0]
mov ecx, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x17c]
mov edx, eax
shl eax, 5
sub eax, edx
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx + eax*4 + 4]
cmp byte [ebp + eax - 0x445], 1
jne 0x41adc8
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov eax, dword [ebp - 0x1d0]
mov edx, dword [eax + edx*4 + 4]
cmp edx, dword [ebp - 0x164]
jle 0x41adc8
mov ecx, dword [ebp - 0x17c]
mov eax, ecx
shl ecx, 5
sub ecx, eax
mov edx, dword [ebp - 0x1d0]
mov ecx, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x17c]
mov edx, eax
shl eax, 5
sub eax, edx
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [ecx + eax*4 + 4]
cmp byte [ebp + eax - 0x465], 1
jne 0x41ae25
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov eax, dword [ebp - 0x1d0]
mov edx, dword [eax + edx*4 + 4]
cmp edx, dword [ebp - 0x164]
jle 0x41ae25
mov ecx, dword [ebp - 0x17c]
mov eax, ecx
shl ecx, 5
sub ecx, eax
mov edx, dword [ebp - 0x1d0]
mov ecx, dword [edx + ecx*4 + 4]
mov dword [ebp - 0x164], ecx
inc ebx
add dword [ebp - 0x1d0], 4
cmp ebx, 0x18
jl 0x41acf0
xor ebx, ebx
lea eax, [ebp - 0x14f]
mov dword [ebp - 0x1d0], eax
xor eax, eax
mov edx, dword [ebp - 0x1d0]
mov ecx, edx
mov dword [ebp - 0x1d8], ecx
cmp dword [ebp - 0x17c], 0
jle 0x41ae7d
lea edx, [eax + ebx*8]
mov ecx, dword [ebp - 0x17c]
mov edi, ecx
shl ecx, 5
sub ecx, edi
lea ecx, [ecx*4 + 0x4ad294]
cmp dword [ecx + edx*4 + 4], 0
jne 0x41ae9b
jmp 0x41ae88
lea edx, [eax + ebx*8]
cmp edx, dword [ebp - 0x164]
jl 0x41ae9b
mov ecx, 7
sub ecx, eax
mov dl, 1
shl dl, cl
mov ecx, dword [ebp - 0x1d8]
or byte [ecx], dl
inc eax
cmp eax, 8
jl 0x41ae54
inc ebx
inc dword [ebp - 0x1d0]
cmp ebx, 3
jl 0x41ae44
xor ebx, ebx
lea eax, [ebp - 0x14e4]
mov dword [ebp - 0x1d8], eax
lea edx, [ebp - 0x14c4]
mov dword [ebp - 0x1d4], edx
lea ecx, [ebp - 0x14a4]
mov dword [ebp - 0x1d0], ecx
mov eax, dword [ebp - 0x1d0]
mov byte [eax], 0
mov edx, dword [ebp - 0x1d4]
mov byte [edx], 0
mov ecx, dword [ebp - 0x1d8]
mov byte [ecx], 0
inc ebx
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d0]
cmp ebx, 0x18
jl 0x41aed3
xor eax, eax
xor edx, edx
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x16c], edx
xor ecx, ecx
lea eax, [ebp - 0x14a4]
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x1e4], eax
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x14e4]
mov dword [ebp - 0x1dc], edx
mov dword [ebp - 0x1d0], ecx
lea eax, [ebp - 0x464]
xor ebx, ebx
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d8], 0x4ad294
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov eax, dword [ebp - 0x1d8]
cmp dword [eax + edx*4 + 4], 0
je 0x41b057
mov edx, dword [ebp - 0x1d4]
cmp byte [edx], 1
jne 0x41afc7
mov eax, dword [ebp - 0x1d0]
mov ecx, ebx
inc ecx
mov edx, ebx
mov byte [eax], cl
inc dword [ebp - 0x170]
inc dword [ebp - 0x1d0]
and edx, 0x80000007
jns 0x41afa9
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
mov al, 1
sub ecx, edx
mov edx, ebx
shl al, cl
test edx, edx
jns 0x41afbd
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x14f], al
mov ecx, dword [ebp - 0x1dc]
cmp byte [ecx], 1
jne 0x41b057
xor eax, eax
lea edx, [ebp - 0x14a4]
mov dword [ebp - 0x1e0], edx
cmp eax, dword [ebp - 0x168]
jge 0x41b00c
mov ecx, dword [ebp - 0x1e0]
xor edx, edx
mov dl, byte [ecx]
lea ecx, [ebx + 1]
cmp edx, ecx
je 0x41b00c
inc eax
inc dword [ebp - 0x1e0]
cmp eax, dword [ebp - 0x168]
jl 0x41afec
cmp eax, dword [ebp - 0x168]
jne 0x41b057
mov edx, dword [ebp - 0x1e4]
mov eax, ebx
inc eax
mov byte [edx], al
mov eax, ebx
inc dword [ebp - 0x168]
inc dword [ebp - 0x1e4]
and eax, 0x80000007
jns 0x41b039
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, 7
mov edx, ebx
sub ecx, eax
mov al, 1
shl al, cl
test edx, edx
jns 0x41b04d
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x14f], al
inc ebx
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1d4]
add dword [ebp - 0x1d8], 4
cmp ebx, 0x18
jl 0x41af5a
call fcn.004a2ec0
push 0x19
push 0
lea ecx, [ebp - 0x16c8]
push ecx
call fcn.0049af44
mov byte [ebp - 0x175], 0
mov byte [ebp - 0x19d], 0
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1e4], eax
xor ebx, ebx
mov edx, dword [ebp - 0x1e4]
xor ecx, ecx
mov dword [edx], ecx
inc ebx
add dword [ebp - 0x1e4], 4
cmp ebx, 2
jl 0x41b0b0
mov word [ebp - 0x128], 0x2c
lea eax, [ebp - 0xc]
xor edx, edx
call fcn.004a6e10
inc dword [ebp - 0x11c]
mov ecx, dword [eax]
push ecx
push 0
push 1
push 0
push 0
call fcn.004142ec
add esp, 0x14
mov dword [ebp - 0x1b4], eax
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004a6e54
mov word [ebp - 0x128], 0x38
lea eax, [ebp - 0x10]
xor edx, edx
call fcn.004a6e10
inc dword [ebp - 0x11c]
mov ecx, dword [eax]
push ecx
push 0
mov eax, dword [ebp - 0x17c]
push eax
push 1
push 0
push 0
call fcn.00415298
add esp, 0x18
mov dword [ebp - 0x1b0], eax
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004a6e54
cmp dword [ebp - 0x1b4], 0
jg 0x41b16e
cmp dword [ebp - 0x1b0], 0
jle 0x41b4ac
mov ecx, dword [ebp - 0x1b4]
add ecx, dword [ebp - 0x1b0]
inc ecx
mov eax, ecx
shl eax, 2
lea eax, [eax + eax*8]
push eax
call fcn.0049a2dc
pop ecx
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1b4], 0
jle 0x41b1ed
mov word [ebp - 0x128], 0x44
lea eax, [ebp - 0x14]
xor edx, edx
call fcn.004a6e10
inc dword [ebp - 0x11c]
mov ecx, dword [eax]
push ecx
mov eax, dword [ebp - 0x164]
push eax
push 1
mov edx, dword [ebp - 0x1b8]
push edx
mov ecx, dword [ebp - 0x1a4]
push ecx
call fcn.004142ec
add esp, 0x14
mov dword [ebp - 0x1b8], eax
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004a6e54
cmp dword [ebp - 0x1b0], 0
jle 0x41b251
mov word [ebp - 0x128], 0x50
lea eax, [ebp - 0x18]
xor edx, edx
call fcn.004a6e10
inc dword [ebp - 0x11c]
mov ecx, dword [eax]
push ecx
mov eax, dword [ebp - 0x164]
push eax
mov edx, dword [ebp - 0x17c]
push edx
push 1
mov ecx, dword [ebp - 0x1b8]
push ecx
mov eax, dword [ebp - 0x1a4]
push eax
call fcn.00415298
add esp, 0x18
mov dword [ebp - 0x1b8], eax
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004a6e54
xor edi, edi
xor ebx, ebx
cmp ebx, dword [ebp - 0x1b8]
jge 0x41b309
xor eax, eax
lea edx, [ebp - 0x18c]
mov dword [ebp - 0x1e8], edx
lea ecx, [ebx + ebx*8]
mov edx, dword [ebp - 0x1a4]
lea ecx, [edx + ecx*4]
mov dl, byte [ecx + eax + 0xb]
mov ecx, dword [ebp - 0x1e8]
cmp dl, byte [ecx]
jne 0x41b295
inc eax
inc dword [ebp - 0x1e8]
cmp eax, 3
jl 0x41b26f
cmp eax, 3
jne 0x41b2fc
xor eax, eax
lea edx, [ebp - 0x194]
mov dword [ebp - 0x1e8], edx
lea ecx, [ebx + ebx*8]
mov edx, dword [ebp - 0x1a4]
lea ecx, [edx + ecx*4]
mov dl, byte [ecx + eax + 6]
mov ecx, dword [ebp - 0x1e8]
cmp dl, byte [ecx]
jne 0x41b2ce
inc eax
inc dword [ebp - 0x1e8]
cmp eax, 3
jl 0x41b2a8
cmp eax, 3
jne 0x41b2fc
push 0x24
mov eax, ebx
shl eax, 2
lea eax, [eax + eax*8]
add eax, dword [ebp - 0x1a4]
push eax
mov eax, edi
shl eax, 2
lea eax, [eax + eax*8]
add eax, dword [ebp - 0x1a4]
push eax
call fcn.0049aed4
add esp, 0xc
inc edi
inc ebx
cmp ebx, dword [ebp - 0x1b8]
jl 0x41b261
mov dword [ebp - 0x1b8], edi
cmp dword [ebp - 0x1b8], 0
jle 0x41b4ac
mov edx, dword [ebp + 0x1c]
lea eax, [ebp - 0x1bc]
push edx
lea edx, [ebp - 0x154c]
mov ecx, dword [ebp + 0x18]
push ecx
push 1
push eax
push edx
lea ecx, [ebp - 0x1534]
lea eax, [ebp - 0x464]
push ecx
push eax
lea edx, [ebp - 0x484]
lea ecx, [ebp - 0x14f]
push edx
push ecx
mov eax, dword [ebp - 0x1b8]
push eax
mov edx, dword [ebp - 0x1a4]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp - 0x17c]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00418d9c
mov ebx, eax
mov eax, dword [ebp + 0xc]
add esp, 0x40
cmp byte [eax + 0x39], 0
je 0x41b396
mov word [ebp - 0x128], 0x14
jmp 0x41defb
sub ebx, 1
jb 0x41b4ac
je 0x41b3a9
dec ebx
je 0x41b3e5
jmp 0x41b49e
push 0x24
mov edx, dword [ebp - 0x1bc]
shl edx, 2
lea edx, [edx + edx*8]
add edx, dword [ebp - 0x1a4]
add edx, 0xffffffdc
push edx
lea ecx, [ebp - 0x1704]
push ecx
call fcn.0049aed4
mov byte [ebp - 0x19d], 1
mov word [ebp - 0x128], 0x14
add esp, 0xc
jmp 0x41db47
push 0x24
mov eax, dword [ebp - 0x1bc]
shl eax, 2
lea eax, [eax + eax*8]
add eax, dword [ebp - 0x1a4]
add eax, 0xffffffdc
push eax
lea edx, [ebp - 0x1704]
push edx
call fcn.0049aed4
add esp, 0xc
lea ecx, [ebp - 0x16c8]
push 0x19
push 0
push ecx
call fcn.0049af44
add esp, 0xc
lea ecx, [ebp - 0x154c]
push 0
push 1
mov eax, dword [ebp + 0x1c]
push eax
lea eax, [ebp - 0x1534]
mov edx, dword [ebp + 0x18]
push edx
push 1
push ecx
push eax
lea edx, [ebp - 0x464]
lea ecx, [ebp - 0x484]
push edx
push ecx
lea eax, [ebp - 0x14f]
lea edx, [ebp - 0x1704]
push eax
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp - 0x17c]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00416ef4
add esp, 0x40
mov ebx, eax
dec ebx
jne 0x41b490
mov byte [ebp - 0x19d], 1
mov word [ebp - 0x128], 0x14
jmp 0x41db47
mov word [ebp - 0x128], 0x14
jmp 0x41defb
mov word [ebp - 0x128], 0x14
jmp 0x41defb
push 4
push 0
lea eax, [ebp - 0x14c]
push eax
call fcn.0049af44
mov byte [ebp - 0x14c], 0xcc
add esp, 0xc
lea edx, [ebp - 0x1718]
mov byte [ebp - 0x14b], 0x14
push 0x14
push 0
push edx
call fcn.0049af44
add esp, 0xc
lea ecx, [ebp - 0x1718]
lea eax, [ebp - 0x14c]
push 0
push 0
push 1
push 0x7d0
push 0x12
push ecx
push 0
push 0
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
call fcn.004a2ec0
mov dword [ebp - 0x174], eax
push 0xa
push 0
lea edx, [ebp - 0x1484]
push edx
call fcn.0049af44
add esp, 0xc
lea eax, [ebp - 0x14e4]
lea edx, [ebp - 0x1484]
push 1
mov ecx, dword [ebp - 0x170]
push ecx
push eax
push edx
call fcn.00405028
add esp, 0x10
lea eax, [ebp - 0x14a4]
lea edx, [ebp - 0x1484]
push 2
mov ecx, dword [ebp - 0x168]
push ecx
push eax
push edx
call fcn.00405028
add esp, 0x10
lea ecx, [ebp - 0x14c]
push 4
push 0
push ecx
call fcn.0049af44
add esp, 0xc
mov eax, dword [ebp + 0x18]
cmp dword [eax], 1
jne 0x41b596
mov byte [ebp - 0x14c], 0xc8
jmp 0x41b65a
mov edx, dword [ebp + 0x18]
cmp dword [edx], 2
jne 0x41b5aa
mov byte [ebp - 0x14c], 0xc9
jmp 0x41b65a
mov byte [ebp - 0x14c], 0xc8
xor ebx, ebx
lea eax, [ebp - 0x14b]
mov dword [ebp - 0x1dc], eax
lea edx, [ebp - 0x14f]
mov dword [ebp - 0x1e4], edx
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1dc]
inc ebx
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1e4]
cmp ebx, 3
jl 0x41b5cb
mov byte [ebp - 0x147b], 0
push 0x19
push 0
lea ecx, [ebp - 0x16c8]
push ecx
call fcn.0049af44
add esp, 0xc
lea eax, [ebp - 0x16c8]
lea edx, [ebp - 0x1484]
lea ecx, [ebp - 0x14c]
push 0
push 0
push 1
push 0x1f40
push 0x15
push eax
push 0xa
push edx
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp + 0xc]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
jne 0x41b653
mov word [ebp - 0x128], 0x14
jmp 0x41bf7f
mov byte [ebp - 0x14c], 0xc9
xor ebx, ebx
lea eax, [ebp - 0x14b]
mov dword [ebp - 0x1e4], eax
lea edx, [ebp - 0x14f]
mov dword [ebp - 0x1dc], edx
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1e4]
inc ebx
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x1e4]
inc dword [ebp - 0x1dc]
cmp ebx, 3
jl 0x41b674
mov byte [ebp - 0x147b], 0
push 0
call fcn.0040755c
pop ecx
mov dl, 1
mov ecx, dword [0x539ee4]
mov eax, dword [0x53542c]
mov ecx, dword [ecx]
call fcn.00429078
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov dword [edx], eax
mov eax, dword [sym.TJDevice.dll__frmprocess]
mov eax, dword [eax]
call fcn.00429128
mov edx, dword [sym.TJDevice.dll__frmprocess]
push 0x100
push 0
mov ecx, dword [edx]
add ecx, 0x300
push ecx
call fcn.0049af44
add esp, 0xc
lea eax, [ebp - 0x16c8]
mov byte [0x53a335], 0
mov byte [0x53a93c], 1
push 0x19
push 0
push eax
call fcn.0049af44
add esp, 0xc
lea edx, [ebp - 0x16c8]
lea ecx, [ebp - 0x1484]
lea eax, [ebp - 0x14c]
push 0
push 0
push 1
push 0x1f40
push 0x15
push edx
push 0xa
push ecx
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
jne 0x41c7fb
mov ebx, 8
lea eax, [ebp - 0x1514]
mov dword [ebp - 0x1dc], eax
lea edx, [ebp - 0x16bd]
mov dword [ebp - 0x1e4], edx
mov ecx, dword [ebp - 0x1e4]
mov edx, dword [ebp - 0x1dc]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41b78f
inc ebx
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1e4]
cmp ebx, 0x12
jl 0x41b76b
cmp ebx, 0x12
jne 0x41bf40
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
mov edx, eax
mov cl, byte [ebp - 0x16c8]
shl eax, 5
sub eax, edx
lea eax, [eax*4 + 0x4ad294]
mov dl, byte [eax + ecx*4]
mov ecx, dword [ebp + 0x1c]
xor eax, eax
mov byte [ecx + 0x32], dl
mov edx, dword [ebp - 0x17c]
mov al, byte [ebp - 0x16c7]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov ecx, dword [ebp + 0x1c]
xor ebx, ebx
lea edx, [edx*4 + 0x4ad294]
mov al, byte [edx + eax*4]
lea edx, [ebp - 0x464]
mov byte [ecx + 0x33], al
lea eax, [ebp - 0x154c]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], edx
lea ecx, [ebp - 0x1534]
lea eax, [ebp - 0x484]
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x1e4], eax
mov dword [ebp - 0x1dc], 0x4ad294
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + edx*4 + 4]
mov edx, dword [ebp - 0x1e4]
cmp byte [edx], 1
je 0x41b84b
mov ecx, dword [ebp - 0x1d0]
cmp byte [ecx], 1
jne 0x41b855
mov edx, dword [ebp + 0x1c]
mov byte [edx + eax + 1], 2
jmp 0x41b873
mov ecx, dword [ebp - 0x1d4]
cmp byte [ecx], 1
je 0x41b86b
mov edx, dword [ebp - 0x1d8]
cmp byte [edx], 1
jne 0x41b873
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + eax + 0x19], 1
inc ebx
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1e4]
add dword [ebp - 0x1dc], 4
cmp ebx, 0x18
jl 0x41b81e
xor ebx, ebx
xor eax, eax
lea esi, [eax + ebx*8]
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
lea edx, [edx*4 + 0x4ad294]
cmp dword [edx + esi*4 + 4], 0
je 0x41b95d
lea ecx, [esi + 1]
xor edx, edx
mov dl, byte [ebp - 0x16c8]
cmp ecx, edx
je 0x41b95d
lea ecx, [esi + 1]
xor edx, edx
mov dl, byte [ebp - 0x16c7]
cmp ecx, edx
je 0x41b95d
cmp byte [ebp + esi - 0x484], 1
je 0x41b95d
cmp byte [ebp + esi - 0x464], 1
je 0x41b95d
cmp byte [ebp + esi - 0x444], 1
je 0x41b95d
cmp byte [ebp + esi - 0x1534], 1
je 0x41b95d
cmp byte [ebp + esi - 0x154c], 1
je 0x41b95d
cmp byte [ebp - 0x16c7], 1
jne 0x41b93d
mov ecx, dword [ebp - 0x17c]
mov edx, ecx
shl ecx, 5
sub ecx, edx
lea ecx, [ecx*4 + 0x4ad294]
mov edx, dword [ecx + esi*4 + 4]
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + edx + 1], 2
jmp 0x41b95d
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
lea edx, [edx*4 + 0x4ad294]
mov ecx, dword [edx + esi*4 + 4]
mov edx, dword [ebp + 0x1c]
mov byte [edx + ecx + 0x19], 2
inc eax
cmp eax, 8
jl 0x41b89c
inc ebx
cmp ebx, 3
jl 0x41b89a
mov eax, dword [ebp + 0x18]
mov dword [eax], 4
xor eax, eax
mov ecx, dword [ebp + 0x1c]
mov al, byte [ecx + 0x33]
xor ecx, ecx
push eax
lea eax, [ebp - 0x324]
mov edx, dword [ebp + 0x1c]
mov cl, byte [edx + 0x32]
push ecx
push 0x52bf6a
push eax
call fcn.0049ddd8
add esp, 0x10
lea edx, [ebp - 0x324]
mov ecx, 0xff0000
push 0
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov ebx, eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x4c], 1
jne 0x41bad2
mov word [ebp - 0x128], 0x5c
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24dc], ebx
fild dword [ebp - 0x24dc]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, 0x52bf8f
lea eax, [ebp - 0x1c]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x20], edx
lea edx, [ebp - 0x20]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0x20]
xor eax, eax
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x24]
inc dword [ebp - 0x11c]
mov eax, 0x52bf7b
call fcn.004a70d0
lea edx, [ebp - 0x24]
push edx
mov edx, 0x52bf94
lea eax, [ebp - 0x28]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x28]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0x2c]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0x2c]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004a6e54
jmp 0x41bbe3
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x4c], 0
jne 0x41bbe3
mov word [ebp - 0x128], 0x68
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24e0], ebx
fild dword [ebp - 0x24e0]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, 0x52bfaf
lea eax, [ebp - 0x30]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x34], edx
lea edx, [ebp - 0x34]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0x34]
xor eax, eax
mov dword [ebp - 0x38], eax
lea ecx, [ebp - 0x38]
inc dword [ebp - 0x11c]
mov eax, 0x52bf99
call fcn.004a70d0
lea edx, [ebp - 0x38]
push edx
mov edx, 0x52bfb4
lea eax, [ebp - 0x3c]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0x40], eax
lea edx, [ebp - 0x3c]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0x40]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0x40]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x40]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004a6e54
call fcn.004a2ec0
mov dword [ebp - 0x174], eax
push 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4c]
add eax, eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
mov edx, dword [eax*8 + 0x4a9a44]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov dword [ebp - 0x1c0], eax
jmp 0x41bc43
push 1
call sub.KERNEL32.DLL_Sleep
call fcn.00403fd0
cmp byte [0x53a32d], 0
jne 0x41bc4c
call fcn.004a2ec0
sub eax, dword [ebp - 0x1c0]
cmp eax, 0x1f40
jg 0x41bc4c
cmp byte [0x53a335], 0
je 0x41bc1c
cmp byte [0x53a32d], 0
je 0x41bca3
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
mov dword [ebp - 0x48], ecx
cmp dword [ebp - 0x48], 0
je 0x41bc8d
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
mov dword [ebp - 0x44], edx
mov word [ebp - 0x128], 0x80
mov edx, 3
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0x74
push 1
call fcn.0040755c
pop ecx
mov word [ebp - 0x128], 0x14
jmp 0x41de4b
push 0x100
push 0
lea eax, [ebp - 0x1818]
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
mov ecx, dword [edx]
add ecx, 0x300
push esi
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea esi, [ebp - 0x1818]
xchg edi, esi
mov edx, ecx
mov eax, edi
shr ecx, 2
lea eax, [ebp - 0x1818]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push eax
call fcn.0049b078
pop ecx
test eax, eax
jne 0x41bd4d
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
mov dword [ebp - 0x50], ecx
cmp dword [ebp - 0x50], 0
je 0x41bd37
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
mov dword [ebp - 0x4c], edx
mov word [ebp - 0x128], 0x98
mov edx, 3
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0x8c
push 1
call fcn.0040755c
pop ecx
mov word [ebp - 0x128], 0x14
jmp 0x41bf7f
push 0x12c
push 0
lea eax, [ebp - 0x1df8]
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x1df8]
mov ecx, dword [edx]
add ecx, 0x409
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x1ccc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x1ccc]
mov ecx, dword [edx]
add ecx, 0x535
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x1ba0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x1ba0]
mov ecx, dword [edx]
add ecx, 0x661
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x1a74]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x1a74]
mov ecx, dword [edx]
add ecx, 0x78d
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x1948]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
add esp, 0xc
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
add ecx, 0x78d
mov edi, ecx
lea esi, [ebp - 0x1a74]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x181c], 1
lea edx, [ebp - 0x1df8]
mov al, byte [edx + 0x5dc]
push eax
mov eax, 0x176
push dword [edx + eax*4]
dec eax
jns 0x41bed3
mov ecx, dword [sym.TJDevice.dll__frmprocess]
mov eax, dword [ecx]
call fcn.00429a84
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0
je 0x41bf1e
mov eax, dword [ebp - 0x58]
mov edx, dword [eax]
mov dword [ebp - 0x54], edx
mov word [ebp - 0x128], 0xb0
mov edx, 3
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0xa4
push 1
call fcn.0040755c
pop ecx
mov dword [ebp - 0x180], 1
mov word [ebp - 0x128], 0x14
jmp 0x41defb
mov eax, dword [sym.TJDevice.dll__frmprocess]
mov edx, dword [eax]
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x60], 0
je 0x41bf77
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx]
mov dword [ebp - 0x5c], eax
mov word [ebp - 0x128], 0xc8
mov edx, 3
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0xbc
push 1
call fcn.0040755c
pop ecx
cmp byte [ebp - 0x16b5], 0xdd
jne 0x41bfd5
cmp byte [ebp - 0x16b4], 0
jbe 0x41bfd5
cmp byte [ebp - 0x16b4], 0x18
ja 0x41bfd5
xor edx, edx
mov dl, byte [ebp - 0x16b4]
dec edx
and edx, 0x80000007
jns 0x41bfb0
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
mov al, 1
sub ecx, edx
xor edx, edx
shl al, cl
mov dl, byte [ebp - 0x16b4]
dec edx
test edx, edx
jns 0x41bfcb
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x14f], al
cmp byte [ebp - 0x16c8], 0
jbe 0x41c7fb
cmp byte [ebp - 0x16c7], 0
jbe 0x41c7fb
mov edx, dword [ebp - 0x17c]
xor eax, eax
mov ecx, edx
mov al, byte [ebp - 0x16c8]
shl edx, 5
sub edx, ecx
lea edx, [edx*4 + 0x4ad294]
cmp dword [edx + eax*4], 0
jle 0x41c7fb
mov ecx, dword [ebp - 0x17c]
xor eax, eax
mov edx, ecx
mov al, byte [ebp - 0x16c7]
shl ecx, 5
sub ecx, edx
lea ecx, [ecx*4 + 0x4ad294]
cmp dword [ecx + eax*4], 0
jle 0x41c7fb
cmp byte [ebp - 0x16c6], 2
jne 0x41c0ad
xor eax, eax
mov al, byte [ebp - 0x14f]
sar eax, 7
and eax, 1
dec eax
je 0x41c063
mov byte [ebp - 0x1534], 1
or byte [ebp - 0x14f], 0x80
xor eax, eax
mov al, byte [ebp - 0x14e]
sar eax, 6
and eax, 1
dec eax
je 0x41c082
mov byte [ebp - 0x152b], 1
or byte [ebp - 0x14e], 0x40
xor edx, edx
mov dl, byte [ebp - 0x14f]
sar edx, 4
and edx, 1
dec edx
je 0x41c0a1
mov byte [ebp - 0x1549], 1
or byte [ebp - 0x14f], 0x10
mov byte [ebp - 0x16c6], 0
jmp 0x41c2fb
cmp byte [ebp - 0x16c6], 3
jne 0x41c1d9
mov dword [ebp - 0x1c4], 4
mov dword [ebp - 0x1c8], 1
mov ecx, dword [ebp - 0x1c4]
and ecx, 0x80000007
jns 0x41c0e1
dec ecx
or ecx, 0xfffffff8
inc ecx
push ecx
mov ecx, 7
pop eax
sub ecx, eax
mov edx, dword [ebp - 0x1c4]
test edx, edx
jns 0x41c0f7
add edx, 7
sar edx, 3
xor eax, eax
mov al, byte [ebp + edx - 0x14f]
sar eax, cl
and eax, 1
dec eax
je 0x41c150
mov edx, dword [ebp - 0x1c4]
mov byte [ebp + edx - 0x1534], 1
mov ecx, dword [ebp - 0x1c4]
and ecx, 0x80000007
jns 0x41c12c
dec ecx
or ecx, 0xfffffff8
inc ecx
push ecx
mov ecx, 7
pop eax
mov dl, 1
sub ecx, eax
mov eax, dword [ebp - 0x1c4]
shl dl, cl
test eax, eax
jns 0x41c146
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x14f], dl
mov edx, dword [ebp - 0x1c8]
and edx, 0x80000007
jns 0x41c163
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
sub ecx, edx
mov eax, dword [ebp - 0x1c8]
test eax, eax
jns 0x41c177
add eax, 7
sar eax, 3
xor edx, edx
mov dl, byte [ebp + eax - 0x14f]
sar edx, cl
and edx, 1
dec edx
je 0x41c1cd
mov ecx, dword [ebp - 0x1c8]
mov byte [ebp + ecx - 0x154c], 1
mov eax, dword [ebp - 0x1c8]
and eax, 0x80000007
jns 0x41c1ab
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, 7
mov dl, 1
sub ecx, eax
mov eax, dword [ebp - 0x1c8]
shl dl, cl
test eax, eax
jns 0x41c1c3
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x14f], dl
mov byte [ebp - 0x16c6], 0
jmp 0x41c2fb
cmp byte [ebp - 0x16c6], 4
jne 0x41c2fb
mov dword [ebp - 0x1c4], 1
mov dword [ebp - 0x1c8], 6
mov edx, dword [ebp - 0x1c4]
and edx, 0x80000007
jns 0x41c20d
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
sub ecx, edx
mov eax, dword [ebp - 0x1c4]
test eax, eax
jns 0x41c221
add eax, 7
sar eax, 3
xor edx, edx
mov dl, byte [ebp + eax - 0x14f]
sar edx, cl
and edx, 1
dec edx
je 0x41c277
mov ecx, dword [ebp - 0x1c4]
mov byte [ebp + ecx - 0x1534], 1
mov eax, dword [ebp - 0x1c4]
and eax, 0x80000007
jns 0x41c255
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, 7
mov dl, 1
sub ecx, eax
mov eax, dword [ebp - 0x1c4]
shl dl, cl
test eax, eax
jns 0x41c26d
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x14f], dl
mov edx, dword [ebp - 0x1c8]
and edx, 0x80000007
jns 0x41c28a
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
sub ecx, edx
mov eax, dword [ebp - 0x1c8]
test eax, eax
jns 0x41c29e
add eax, 7
sar eax, 3
xor edx, edx
mov dl, byte [ebp + eax - 0x14f]
sar edx, cl
and edx, 1
dec edx
je 0x41c2f4
mov ecx, dword [ebp - 0x1c8]
mov byte [ebp + ecx - 0x154c], 1
mov eax, dword [ebp - 0x1c8]
and eax, 0x80000007
jns 0x41c2d2
dec eax
or eax, 0xfffffff8
inc eax
mov ecx, 7
mov dl, 1
sub ecx, eax
mov eax, dword [ebp - 0x1c8]
shl dl, cl
test eax, eax
jns 0x41c2ea
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x14f], dl
mov byte [ebp - 0x16c6], 0
push 0x24
push 0
lea edx, [ebp - 0x1704]
push edx
call fcn.0049af44
add esp, 0xc
lea ecx, [ebp - 0x1703]
mov byte [ebp - 0x1704], 1
push 4
push 0x52bfbe
push ecx
call fcn.0049aed4
mov al, byte [ebp - 0x164]
lea edx, [ebp - 0x16f9]
mov byte [ebp - 0x16ff], al
mov dword [ebp - 0x1d4], edx
add esp, 0xc
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x1d8], ecx
xor eax, eax
mov edx, dword [ebp - 0x1d8]
mov cl, byte [edx]
mov edx, dword [ebp - 0x1d4]
mov byte [edx], cl
inc eax
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d8]
cmp eax, 3
jl 0x41c351
xor eax, eax
lea ecx, [ebp - 0x16fe]
mov dword [ebp - 0x1d8], ecx
lea edx, [ebp - 0x194]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x1d8]
mov byte [ecx], dl
inc eax
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
cmp eax, 3
jl 0x41c38d
mov byte [ebp - 0x16f5], 0
xor ebx, ebx
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x1d8], eax
xor eax, eax
mov edx, dword [ebp - 0x1d8]
mov ecx, edx
mov dword [ebp - 0x1ec], ecx
mov ecx, eax
mov edx, dword [ebp - 0x1ec]
movzx edx, byte [edx]
sar edx, cl
and edx, 1
dec edx
jne 0x41c3ed
inc byte [ebp - 0x16f5]
inc eax
cmp eax, 8
jl 0x41c3d4
inc ebx
inc dword [ebp - 0x1d8]
cmp ebx, 3
jl 0x41c3c4
mov byte [ebp - 0x16fa], 0
xor ebx, ebx
lea eax, [ebp - 0x194]
mov dword [ebp - 0x1d8], eax
xor eax, eax
mov edx, dword [ebp - 0x1d8]
mov ecx, edx
mov dword [ebp - 0x1f0], ecx
mov ecx, eax
mov edx, dword [ebp - 0x1f0]
movzx edx, byte [edx]
sar edx, cl
and edx, 1
dec edx
jne 0x41c43d
inc byte [ebp - 0x16fa]
inc eax
cmp eax, 8
jl 0x41c424
inc ebx
inc dword [ebp - 0x1d8]
cmp ebx, 3
jl 0x41c414
mov ecx, dword [ebp - 0x17c]
xor eax, eax
mov edx, ecx
mov al, byte [ebp - 0x16c8]
shl ecx, 5
sub ecx, edx
lea ecx, [ecx*4 + 0x4ad294]
mov al, byte [ecx + eax*4]
mov byte [ebp - 0x16ef], al
xor eax, eax
mov edx, dword [ebp - 0x17c]
mov al, byte [ebp - 0x16c7]
mov ecx, edx
shl edx, 5
sub edx, ecx
xor ecx, ecx
lea edx, [edx*4 + 0x4ad294]
mov al, byte [edx + eax*4]
lea edx, [ebp - 0x324]
mov byte [ebp - 0x16ee], al
xor eax, eax
mov cl, byte [ebp - 0x16ee]
push ecx
mov al, byte [ebp - 0x16ef]
push eax
push 0x52bfc3
push edx
call fcn.0049ddd8
add esp, 0x10
mov ecx, dword [ebp + 0x18]
cmp dword [ecx], 4
je 0x41c4dc
push 0
lea edx, [ebp - 0x324]
mov ecx, 0xff0000
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov ebx, eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x4c], 1
jne 0x41c5f9
mov word [ebp - 0x128], 0xd4
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24e4], ebx
fild dword [ebp - 0x24e4]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, 0x52bfe8
lea eax, [ebp - 0x64]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x68], edx
lea edx, [ebp - 0x68]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0x68]
xor eax, eax
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x6c]
inc dword [ebp - 0x11c]
mov eax, 0x52bfd4
call fcn.004a70d0
lea edx, [ebp - 0x6c]
push edx
mov edx, 0x52bfed
lea eax, [ebp - 0x70]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0x74], eax
lea edx, [ebp - 0x70]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0x74]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0x74]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x74]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x70]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x6c]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x68]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x64]
mov edx, 2
call fcn.004a6e54
jmp 0x41c71f
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x4c], 0
jne 0x41c71f
mov word [ebp - 0x128], 0xe0
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24e8], ebx
fild dword [ebp - 0x24e8]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, 0x52c008
lea eax, [ebp - 0x78]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0x7c], edx
lea edx, [ebp - 0x7c]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x80], eax
lea ecx, [ebp - 0x80]
inc dword [ebp - 0x11c]
mov eax, 0x52bff2
call fcn.004a70d0
lea edx, [ebp - 0x80]
push edx
mov edx, 0x52c00d
lea eax, [ebp - 0x84]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0x88], eax
lea edx, [ebp - 0x84]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0x88]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0x88]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x88]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x80]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x7c]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x78]
mov edx, 2
call fcn.004a6e54
mov ecx, dword [ebp + 0x18]
cmp dword [ecx], 4
je 0x41c746
push 0
cmp dword [ebp - 8], 0
je 0x41c734
mov edx, dword [ebp - 8]
jmp 0x41c739
mov edx, 0x52c017
mov ecx, 0x8000
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov eax, dword [ebp + 0x18]
cmp dword [eax], 4
je 0x41c774
push 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x4c]
add ecx, ecx
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*8]
mov edx, dword [ecx*8 + 0x4a9a44]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
call fcn.004075c4
xor eax, eax
mov al, byte [ebp - 0x16c6]
inc eax
push eax
push 1
mov edx, dword [ebp + 0x1c]
lea eax, [ebp - 0x154c]
push edx
lea edx, [ebp - 0x1534]
mov ecx, dword [ebp + 0x18]
push ecx
push 1
push eax
push edx
lea ecx, [ebp - 0x464]
lea eax, [ebp - 0x484]
push ecx
push eax
lea edx, [ebp - 0x14f]
lea ecx, [ebp - 0x1704]
push edx
push ecx
mov eax, dword [ebp + 0x14]
push eax
mov edx, dword [ebp - 0x17c]
push edx
mov ecx, dword [ebp + 0x10]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00416ef4
add esp, 0x40
mov ebx, eax
dec ebx
jne 0x41c7ed
mov byte [ebp - 0x19d], 1
mov word [ebp - 0x128], 0x14
jmp 0x41db47
mov word [ebp - 0x128], 0x14
jmp 0x41defb
push 4
push 0
lea eax, [ebp - 0x14c]
push eax
call fcn.0049af44
mov byte [ebp - 0x14c], 0xcc
add esp, 0xc
lea edx, [ebp - 0x1718]
mov byte [ebp - 0x14b], 0x14
push 0x14
push 0
push edx
call fcn.0049af44
add esp, 0xc
lea ecx, [ebp - 0x1718]
lea eax, [ebp - 0x14c]
push 0
push 0
push 1
push 0x7d0
push 0x12
push ecx
push 0
push 0
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
lea edx, [ebp - 0x14c]
push 4
push 0
push edx
call fcn.0049af44
mov byte [ebp - 0x14c], 0xee
add esp, 0xc
xor ebx, ebx
mov byte [ebp - 0x14b], 0xa
push 0
push 0
push 1
push 0x1f4
push 0
push 0
push 0
lea eax, [ebp - 0x14c]
push 0
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
mov esi, eax
test esi, esi
je 0x41c8bf
inc ebx
cmp ebx, 2
jl 0x41c885
test esi, esi
je 0x41c947
push 0
mov ecx, 0xff
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp + 0x10]
add edx, edx
lea edx, [edx + edx*4]
lea edx, [edx + edx*8]
mov edx, dword [edx*8 + 0x4a99d4]
call fcn.004075c4
mov eax, dword [sym.TJDevice.dll__frmprocess]
mov edx, dword [eax]
mov dword [ebp - 0x90], edx
cmp dword [ebp - 0x90], 0
je 0x41c931
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx]
mov dword [ebp - 0x8c], eax
mov word [ebp - 0x128], 0xf8
mov edx, 3
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0xec
push 1
call fcn.0040755c
pop ecx
mov word [ebp - 0x128], 0x14
jmp 0x41defb
push 0x64
call sub.KERNEL32.DLL_Sleep
push 0xa
push 0
lea edx, [ebp - 0x1484]
push edx
call fcn.0049af44
add esp, 0xc
lea edx, [ebp - 0x14e4]
lea ecx, [ebp - 0x1484]
push 1
mov eax, dword [ebp - 0x170]
push eax
push edx
push ecx
call fcn.00405028
add esp, 0x10
lea edx, [ebp - 0x14a4]
lea ecx, [ebp - 0x1484]
push 2
mov eax, dword [ebp - 0x168]
push eax
push edx
push ecx
call fcn.00405028
add esp, 0x10
lea eax, [ebp - 0x14c]
push 4
push 0
push eax
call fcn.0049af44
mov byte [ebp - 0x14c], 0x9d
add esp, 0xc
lea eax, [ebp - 0x14b]
mov dword [ebp - 0x1d4], eax
lea edx, [ebp - 0x14f]
mov dword [ebp - 0x1d8], edx
xor ebx, ebx
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d4]
inc ebx
mov al, byte [ecx]
mov byte [edx], al
inc dword [ebp - 0x1d4]
inc dword [ebp - 0x1d8]
cmp ebx, 3
jl 0x41c9d3
mov byte [ebp - 0x147b], 0
push 0
push 0
push 1
push 0x1d4c0
push 0x15
lea ecx, [ebp - 0x16c8]
push ecx
push 0xa
lea eax, [ebp - 0x1484]
push eax
lea edx, [ebp - 0x14c]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp + 0xc]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
je 0x41ca88
mov eax, dword [sym.TJDevice.dll__frmprocess]
mov edx, dword [eax]
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 0
je 0x41ca80
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx]
mov dword [ebp - 0x94], eax
mov word [ebp - 0x128], 0x110
mov edx, 3
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0x104
push 1
call fcn.0040755c
pop ecx
test ebx, ebx
jne 0x41de42
mov ebx, 8
lea eax, [ebp - 0x1514]
mov dword [ebp - 0x1d8], eax
lea edx, [ebp - 0x16bd]
mov dword [ebp - 0x1d4], edx
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d8]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x41cad1
inc ebx
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1d4]
cmp ebx, 0x12
jl 0x41caad
cmp ebx, 0x12
jne 0x41d313
mov eax, dword [ebp - 0x17c]
xor ecx, ecx
mov edx, eax
mov cl, byte [ebp - 0x16c8]
shl eax, 5
sub eax, edx
lea eax, [eax*4 + 0x4ad294]
mov dl, byte [eax + ecx*4]
mov ecx, dword [ebp + 0x1c]
xor eax, eax
mov byte [ecx + 0x32], dl
mov edx, dword [ebp - 0x17c]
mov al, byte [ebp - 0x16c7]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov ecx, dword [ebp + 0x1c]
xor ebx, ebx
lea edx, [edx*4 + 0x4ad294]
mov al, byte [edx + eax*4]
lea edx, [ebp - 0x464]
mov byte [ecx + 0x33], al
lea eax, [ebp - 0x154c]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1e4], edx
lea ecx, [ebp - 0x1534]
lea eax, [ebp - 0x484]
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d8], 0x4ad294
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
mov eax, dword [ebp - 0x1d8]
mov eax, dword [eax + edx*4 + 4]
mov edx, dword [ebp - 0x1d4]
cmp byte [edx], 1
je 0x41cb8d
mov ecx, dword [ebp - 0x1d0]
cmp byte [ecx], 1
jne 0x41cb97
mov edx, dword [ebp + 0x1c]
mov byte [edx + eax + 1], 2
jmp 0x41cbb5
mov ecx, dword [ebp - 0x1e4]
cmp byte [ecx], 1
je 0x41cbad
mov edx, dword [ebp - 0x1dc]
cmp byte [edx], 1
jne 0x41cbb5
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + eax + 0x19], 1
inc ebx
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1e4]
inc dword [ebp - 0x1d0]
inc dword [ebp - 0x1d4]
add dword [ebp - 0x1d8], 4
cmp ebx, 0x18
jl 0x41cb60
xor ebx, ebx
xor eax, eax
lea esi, [eax + ebx*8]
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
lea edx, [edx*4 + 0x4ad294]
cmp dword [edx + esi*4 + 4], 0
je 0x41cc9f
lea ecx, [esi + 1]
xor edx, edx
mov dl, byte [ebp - 0x16c8]
cmp ecx, edx
je 0x41cc9f
lea ecx, [esi + 1]
xor edx, edx
mov dl, byte [ebp - 0x16c7]
cmp ecx, edx
je 0x41cc9f
cmp byte [ebp + esi - 0x484], 1
je 0x41cc9f
cmp byte [ebp + esi - 0x464], 1
je 0x41cc9f
cmp byte [ebp + esi - 0x444], 1
je 0x41cc9f
cmp byte [ebp + esi - 0x1534], 1
je 0x41cc9f
cmp byte [ebp + esi - 0x154c], 1
je 0x41cc9f
cmp byte [ebp - 0x16c7], 1
jne 0x41cc7f
mov ecx, dword [ebp - 0x17c]
mov edx, ecx
shl ecx, 5
sub ecx, edx
lea ecx, [ecx*4 + 0x4ad294]
mov edx, dword [ecx + esi*4 + 4]
mov ecx, dword [ebp + 0x1c]
mov byte [ecx + edx + 1], 2
jmp 0x41cc9f
mov edx, dword [ebp - 0x17c]
mov ecx, edx
shl edx, 5
sub edx, ecx
lea edx, [edx*4 + 0x4ad294]
mov ecx, dword [edx + esi*4 + 4]
mov edx, dword [ebp + 0x1c]
mov byte [edx + ecx + 0x19], 2
inc eax
cmp eax, 8
jl 0x41cbde
inc ebx
cmp ebx, 3
jl 0x41cbdc
mov eax, dword [ebp + 0x18]
mov dword [eax], 4
xor eax, eax
mov ecx, dword [ebp + 0x1c]
mov al, byte [ecx + 0x33]
xor ecx, ecx
push eax
lea eax, [ebp - 0x324]
mov edx, dword [ebp + 0x1c]
mov cl, byte [edx + 0x32]
push ecx
push 0x52c018
push eax
call fcn.0049ddd8
add esp, 0x10
lea edx, [ebp - 0x324]
mov ecx, 0xff0000
push 0
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov ebx, eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x4c], 1
jne 0x41ce47
mov word [ebp - 0x128], 0x11c
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24ec], ebx
fild dword [ebp - 0x24ec]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, 0x52c03d
lea eax, [ebp - 0x9c]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0xa0], edx
lea edx, [ebp - 0xa0]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0xa0]
xor eax, eax
mov dword [ebp - 0xa4], eax
lea ecx, [ebp - 0xa4]
inc dword [ebp - 0x11c]
mov eax, 0x52c029
call fcn.004a70d0
lea edx, [ebp - 0xa4]
push edx
mov edx, 0x52c042
lea eax, [ebp - 0xa8]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0xac], eax
lea edx, [ebp - 0xa8]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0xac]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0xac]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xac]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xa8]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xa0]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x9c]
mov edx, 2
call fcn.004a6e54
jmp 0x41cf8b
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x4c], 0
jne 0x41cf8b
mov word [ebp - 0x128], 0x128
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24f0], ebx
fild dword [ebp - 0x24f0]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, 0x52c05d
lea eax, [ebp - 0xb0]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0xb4], edx
lea edx, [ebp - 0xb4]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0xb4]
xor eax, eax
mov dword [ebp - 0xb8], eax
lea ecx, [ebp - 0xb8]
inc dword [ebp - 0x11c]
mov eax, 0x52c047
call fcn.004a70d0
lea edx, [ebp - 0xb8]
push edx
mov edx, 0x52c062
lea eax, [ebp - 0xbc]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0xc0], eax
lea edx, [ebp - 0xbc]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0xc0]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0xc0]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xc0]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xbc]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xb8]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xb4]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xb0]
mov edx, 2
call fcn.004a6e54
call fcn.004a2ec0
mov dword [ebp - 0x174], eax
push 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4c]
add eax, eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
mov edx, dword [eax*8 + 0x4a9a44]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov dword [ebp - 0x1cc], eax
jmp 0x41cfeb
push 1
call sub.KERNEL32.DLL_Sleep
call fcn.00403fd0
cmp byte [0x53a32d], 0
jne 0x41cff4
call fcn.004a2ec0
sub eax, dword [ebp - 0x1cc]
cmp eax, 0x1f40
jg 0x41cff4
cmp byte [0x53a335], 0
je 0x41cfc4
cmp byte [0x53a32d], 0
je 0x41d05a
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0
je 0x41d044
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax]
mov dword [ebp - 0xc4], edx
mov word [ebp - 0x128], 0x140
mov edx, 3
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0x134
push 1
call fcn.0040755c
pop ecx
mov word [ebp - 0x128], 0x14
jmp 0x41de4b
push 0x100
push 0
lea eax, [ebp - 0x1ef8]
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x1ef8]
mov ecx, dword [edx]
add ecx, 0x300
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x1ef8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.0049b078
pop ecx
test eax, eax
jne 0x41d111
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xd0], 0
je 0x41d0fb
mov eax, dword [ebp - 0xd0]
mov edx, dword [eax]
mov dword [ebp - 0xcc], edx
mov word [ebp - 0x128], 0x158
mov edx, 3
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0x14c
push 1
call fcn.0040755c
pop ecx
mov word [ebp - 0x128], 0x14
jmp 0x41d361
push 0x12c
push 0
lea eax, [ebp - 0x24d8]
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x24d8]
mov ecx, dword [edx]
add ecx, 0x409
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x23ac]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x23ac]
mov ecx, dword [edx]
add ecx, 0x535
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x2280]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x2280]
mov ecx, dword [edx]
add ecx, 0x661
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x2154]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
mov edx, dword [sym.TJDevice.dll__frmprocess]
add esp, 0xc
xor eax, eax
lea esi, [ebp - 0x2154]
mov ecx, dword [edx]
add ecx, 0x78d
mov edi, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [ebp - 0x2028]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x12c
push 0
push eax
call fcn.0049af44
add esp, 0xc
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
add ecx, 0x78d
mov edi, ecx
lea esi, [ebp - 0x2154]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x1efc], 1
lea edx, [ebp - 0x24d8]
mov al, byte [edx + 0x5dc]
push eax
mov eax, 0x176
push dword [edx + eax*4]
dec eax
jns 0x41d297
mov ecx, dword [sym.TJDevice.dll__frmprocess]
mov eax, dword [ecx]
call fcn.00429a84
mov edx, dword [sym.TJDevice.dll__frmprocess]
mov ecx, dword [edx]
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0
je 0x41d2f1
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax]
mov dword [ebp - 0xd4], edx
mov word [ebp - 0x128], 0x170
mov edx, 3
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0x164
push 1
call fcn.0040755c
pop ecx
mov dword [ebp - 0x180], 1
mov word [ebp - 0x128], 0x14
jmp 0x41defb
mov eax, dword [sym.TJDevice.dll__frmprocess]
mov edx, dword [eax]
mov dword [ebp - 0xe0], edx
cmp dword [ebp - 0xe0], 0
je 0x41d359
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx]
mov dword [ebp - 0xdc], eax
mov word [ebp - 0x128], 0x188
mov edx, 3
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax]
call dword [ecx - 4]
mov word [ebp - 0x128], 0x17c
push 1
call fcn.0040755c
pop ecx
cmp byte [ebp - 0x16b5], 0xdd
jne 0x41d3b7
cmp byte [ebp - 0x16b4], 0
jbe 0x41d3b7
cmp byte [ebp - 0x16b4], 0x18
ja 0x41d3b7
xor edx, edx
mov dl, byte [ebp - 0x16b4]
dec edx
and edx, 0x80000007
jns 0x41d392
dec edx
or edx, 0xfffffff8
inc edx
mov ecx, 7
mov al, 1
sub ecx, edx
xor edx, edx
shl al, cl
mov dl, byte [ebp - 0x16b4]
dec edx
test edx, edx
jns 0x41d3ad
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x14f], al
cmp byte [ebp - 0x16c8], 0
jbe 0x41dd0f
cmp byte [ebp - 0x16c7], 0
jbe 0x41dd0f
mov edx, dword [ebp - 0x17c]
xor eax, eax
mov ecx, edx
mov al, byte [ebp - 0x16c8]
shl edx, 5
sub edx, ecx
lea edx, [edx*4 + 0x4ad294]
cmp dword [edx + eax*4], 0
jle 0x41dd0f
mov ecx, dword [ebp - 0x17c]
xor eax, eax
mov edx, ecx
mov al, byte [ebp - 0x16c7]
shl ecx, 5
sub ecx, edx
lea ecx, [ecx*4 + 0x4ad294]
cmp dword [ecx + eax*4], 0
jle 0x41dd0f
push 0x24
push 0
lea eax, [ebp - 0x1704]
push eax
call fcn.0049af44
add esp, 0xc
lea eax, [ebp - 0x1703]
mov byte [ebp - 0x1704], 1
push 4
push str.0000
push eax
call fcn.0049aed4
mov dl, byte [ebp - 0x164]
add esp, 0xc
mov byte [ebp - 0x16ff], dl
lea edx, [ebp - 0x16f9]
mov dword [ebp - 0x1e4], edx
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x1dc], ecx
xor eax, eax
mov edx, dword [ebp - 0x1dc]
mov cl, byte [edx]
mov edx, dword [ebp - 0x1e4]
mov byte [edx], cl
inc eax
inc dword [ebp - 0x1e4]
inc dword [ebp - 0x1dc]
cmp eax, 3
jl 0x41d473
xor eax, eax
lea ecx, [ebp - 0x16fe]
mov dword [ebp - 0x1dc], ecx
lea edx, [ebp - 0x194]
mov dword [ebp - 0x1e4], edx
mov ecx, dword [ebp - 0x1e4]
mov dl, byte [ecx]
mov ecx, dword [ebp - 0x1dc]
mov byte [ecx], dl
inc eax
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1e4]
cmp eax, 3
jl 0x41d4af
mov byte [ebp - 0x16f5], 0
xor ebx, ebx
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x1dc], eax
xor eax, eax
mov edx, dword [ebp - 0x1dc]
mov ecx, edx
mov dword [ebp - 0x1f4], ecx
mov ecx, eax
mov edx, dword [ebp - 0x1f4]
movzx edx, byte [edx]
sar edx, cl
and edx, 1
dec edx
jne 0x41d50f
inc byte [ebp - 0x16f5]
inc eax
cmp eax, 8
jl 0x41d4f6
inc ebx
inc dword [ebp - 0x1dc]
cmp ebx, 3
jl 0x41d4e6
mov byte [ebp - 0x16fa], 0
xor ebx, ebx
lea eax, [ebp - 0x194]
mov dword [ebp - 0x1dc], eax
xor eax, eax
mov edx, dword [ebp - 0x1dc]
mov ecx, edx
mov dword [ebp - 0x1f8], ecx
mov ecx, eax
mov edx, dword [ebp - 0x1f8]
movzx edx, byte [edx]
sar edx, cl
and edx, 1
dec edx
jne 0x41d55f
inc byte [ebp - 0x16fa]
inc eax
cmp eax, 8
jl 0x41d546
inc ebx
inc dword [ebp - 0x1dc]
cmp ebx, 3
jl 0x41d536
mov ecx, dword [ebp - 0x17c]
xor eax, eax
mov edx, ecx
mov al, byte [ebp - 0x16c8]
shl ecx, 5
sub ecx, edx
lea ecx, [ecx*4 + 0x4ad294]
mov al, byte [ecx + eax*4]
mov byte [ebp - 0x16ef], al
xor eax, eax
mov edx, dword [ebp - 0x17c]
mov al, byte [ebp - 0x16c7]
mov ecx, edx
shl edx, 5
sub edx, ecx
xor ecx, ecx
lea edx, [edx*4 + 0x4ad294]
mov al, byte [edx + eax*4]
lea edx, [ebp - 0x324]
mov byte [ebp - 0x16ee], al
xor eax, eax
mov cl, byte [ebp - 0x16ee]
push ecx
mov al, byte [ebp - 0x16ef]
push eax
push str.D___d__D____d
push edx
call fcn.0049ddd8
add esp, 0x10
mov ecx, dword [ebp + 0x18]
cmp dword [ecx], 4
je 0x41d5fe
push 0
lea edx, [ebp - 0x324]
mov ecx, 0xff0000
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov ebx, eax
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0x4c], 1
jne 0x41d74e
mov word [ebp - 0x128], 0x194
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24f4], ebx
fild dword [ebp - 0x24f4]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, 0x52c096
lea eax, [ebp - 0xe4]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0xe8], edx
lea edx, [ebp - 0xe8]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0xec], eax
lea ecx, [ebp - 0xec]
inc dword [ebp - 0x11c]
mov eax, 0x52c082
call fcn.004a70d0
lea edx, [ebp - 0xec]
push edx
mov edx, 0x52c09b
lea eax, [ebp - 0xf0]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0xf4], eax
lea edx, [ebp - 0xf0]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0xf4]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0xf4]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xf4]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xf0]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xec]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xe8]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xe4]
mov edx, 2
call fcn.004a6e54
jmp 0x41d892
mov ecx, dword [ebp + 0xc]
cmp dword [ecx + 0x4c], 0
jne 0x41d892
mov word [ebp - 0x128], 0x1a0
sub ebx, dword [ebp - 0x174]
mov dword [ebp - 0x24f8], ebx
fild dword [ebp - 0x24f8]
fld xword [0x41df7c]
fmulp st(1)
add esp, 0xfffffff4
mov edx, str.0.00
lea eax, [ebp - 0xf8]
fstp xword [esp]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
mov eax, dword [eax]
xor edx, edx
mov dword [ebp - 0xfc], edx
lea edx, [ebp - 0xfc]
inc dword [ebp - 0x11c]
call fcn.00486c04
lea edx, [ebp - 0xfc]
xor eax, eax
mov dword [ebp - 0x100], eax
lea ecx, [ebp - 0x100]
inc dword [ebp - 0x11c]
mov eax, str.Detection_D_D__with
call fcn.004a70d0
lea edx, [ebp - 0x100]
push edx
mov edx, str._seconds_
lea eax, [ebp - 0x104]
call fcn.004a6cf4
inc dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0x108], eax
lea edx, [ebp - 0x104]
inc dword [ebp - 0x11c]
lea ecx, [ebp - 0x108]
pop eax
call fcn.004a6eac
lea edx, [ebp - 0x108]
lea eax, [ebp - 8]
call fcn.004a6e84
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x108]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x104]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0x100]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xfc]
mov edx, 2
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 0xf8]
mov edx, 2
call fcn.004a6e54
mov ecx, dword [ebp + 0x18]
cmp dword [ecx], 4
je 0x41d8b9
push 0
cmp dword [ebp - 8], 0
je 0x41d8a7
mov edx, dword [ebp - 8]
jmp 0x41d8ac
mov edx, 0x52c0c5
mov ecx, 0x8000
mov eax, dword [ebp + 0x10]
call fcn.004075c4
call fcn.004a2ec0
mov eax, dword [ebp + 0x18]
cmp dword [eax], 4
je 0x41d8e7
push 0
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x4c]
add ecx, ecx
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*8]
mov edx, dword [ecx*8 + 0x4a9a44]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
call fcn.004075c4
push 0
push 1
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0x154c]
push eax
lea eax, [ebp - 0x1534]
mov edx, dword [ebp + 0x18]
push edx
push 1
push ecx
push eax
lea edx, [ebp - 0x464]
lea ecx, [ebp - 0x484]
push edx
push ecx
lea eax, [ebp - 0x14f]
lea edx, [ebp - 0x1704]
push eax
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov eax, dword [ebp - 0x17c]
push eax
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00416ef4
add esp, 0x40
mov ebx, eax
dec ebx
jne 0x41d958
mov byte [ebp - 0x19d], 1
mov word [ebp - 0x128], 0x14
jmp 0x41db47
mov word [ebp - 0x128], 0x14
jmp 0x41defb
cmp dword [ebp + 0x1c], 0
je 0x41dc72
mov edx, dword [ebp + 0x1c]
mov cl, byte [ebp - 0x16ef]
xor ebx, ebx
mov byte [edx + 0x32], cl
mov eax, dword [ebp + 0x1c]
mov dl, byte [ebp - 0x16ee]
mov byte [eax + 0x33], dl
mov ecx, ebx
and ecx, 0x80000007
jns 0x41db7a
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebx
test eax, eax
jns 0x41db83
add eax, 7
sar eax, 3
xor edx, edx
mov dl, byte [ebp + eax - 0x16fe]
sar edx, cl
and edx, 1
dec edx
jne 0x41db9f
mov eax, dword [ebp + 0x1c]
mov byte [eax + ebx + 0x1a], 1
inc ebx
cmp ebx, 0x18
jl 0x41db6b
xor ebx, ebx
mov ecx, ebx
and ecx, 0x80000007
jns 0x41dbb6
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebx
test eax, eax
jns 0x41dbbf
add eax, 7
sar eax, 3
xor edx, edx
mov dl, byte [ebp + eax - 0x16f4]
sar edx, cl
and edx, 1
dec edx
jne 0x41dbdb
mov eax, dword [ebp + 0x1c]
mov byte [eax + ebx + 2], 2
inc ebx
cmp ebx, 0x18
jl 0x41dba7
mov edx, dword [ebp + 0x1c]
mov byte [edx + 0x35], 0
cmp byte [ebp - 0x16e6], 3
jne 0x41dc2d
xor ebx, ebx
mov ecx, ebx
and ecx, 0x80000007
jns 0x41dc02
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebx
test eax, eax
jns 0x41dc0b
add eax, 7
sar eax, 3
xor edx, edx
mov dl, byte [ebp + eax - 0x16eb]
sar edx, cl
and edx, 1
dec edx
jne 0x41dc27
mov eax, dword [ebp + 0x1c]
mov byte [eax + ebx + 0x1a], 2
inc ebx
cmp ebx, 0x18
jl 0x41dbf3
cmp byte [ebp - 0x16e6], 4
jne 0x41dc72
xor ebx, ebx
mov ecx, ebx
and ecx, 0x80000007
jns 0x41dc47
dec ecx
or ecx, 0xfffffff8
inc ecx
mov eax, ebx
test eax, eax
jns 0x41dc50
add eax, 7
sar eax, 3
xor edx, edx
mov dl, byte [ebp + eax - 0x16eb]
sar edx, cl
and edx, 1
dec edx
jne 0x41dc6c
mov eax, dword [ebp + 0x1c]
mov byte [eax + ebx + 2], 2
inc ebx
cmp ebx, 0x18
jl 0x41dc38
cmp byte [ebp - 0x19d], 0
je 0x41dcf7
push 0x25
call fcn.0049a2dc
pop ecx
mov esi, eax
push 0x25
call fcn.0049a2dc
pop ecx
mov edi, eax
push 0x24
lea eax, [ebp - 0x1704]
push eax
push edi
call fcn.0049aed4
add esp, 0xc
xor ebx, ebx
cmp ebx, dword [ebp - 0x1b8]
jge 0x41dce3
push 0x24
mov eax, ebx
shl eax, 2
lea eax, [eax + eax*8]
add eax, dword [ebp - 0x1a4]
push eax
push esi
call fcn.0049aed4
add esp, 0xc
xor eax, eax
mov dl, byte [esi + eax]
cmp dl, byte [edi + eax]
jne 0x41dcd5
inc eax
cmp eax, 0x24
jl 0x41dcc7
cmp eax, 0x24
je 0x41dce3
inc ebx
cmp ebx, dword [ebp - 0x1b8]
jl 0x41dcab
push esi
call fcn.0049a104
pop ecx
push edi
call fcn.0049a104
pop ecx
cmp ebx, dword [ebp - 0x1b8]
mov dword [ebp - 0x180], 1
mov word [ebp - 0x128], 0x14
jmp 0x41defb
push 0
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x4c]
add eax, eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*8]
mov edx, dword [eax*8 + 0x4a99ec]
xor ecx, ecx
mov eax, dword [ebp + 0x10]
call fcn.004075c4
mov word [ebp - 0x128], 0x14
jmp 0x41defb
cmp ebx, 0x64
jne 0x41dece
push 4
push 0
lea ecx, [ebp - 0x14c]
push ecx
call fcn.0049af44
mov byte [ebp - 0x14c], 0xee
add esp, 0xc
xor esi, esi
mov byte [ebp - 0x14b], 0xa
push 0
push 0
push 3
push 0x1f4
push 0
push 0
push 0
lea eax, [ebp - 0x14c]
push 0
push eax
mov edx, dword [ebp + 0x14]
push edx
mov ecx, dword [ebp + 0xc]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00408160
add esp, 0x30
mov ebx, eax
test ebx, ebx
je 0x41dea8
inc esi
cmp esi, 2
jl 0x41de6e
push 0
mov ecx, 0xff
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp + 0x10]
add edx, edx
lea edx, [edx + edx*4]
lea edx, [edx + edx*8]
mov edx, dword [edx*8 + 0x4a9914]
call fcn.004075c4
jmp 0x41def2
push 0
mov ecx, 0xff
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp + 0x10]
add edx, edx
lea edx, [edx + edx*4]
lea edx, [edx + edx*8]
mov edx, dword [edx*8 + 0x4a9a5c]
call fcn.004075c4
mov word [ebp - 0x128], 0x14
cmp dword [ebp - 0x180], 1
jne 0x41df3d
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 8]
dec dword [ebp - 0x11c]
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004a6e54
pop eax
mov edx, dword [ebp - 0x138]
mov dword fs:[0], edx
jmp 0x41df74
xor eax, eax
mov edx, 2
push eax
lea eax, [ebp - 8]
dec dword [ebp - 0x11c]
call fcn.004a6e54
dec dword [ebp - 0x11c]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004a6e54
pop eax
mov edx, dword [ebp - 0x138]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret