Function at 0x461700
Capabilities:
Create thread
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c25b9
mov eax, dword fs:[0]
push eax
sub esp, 0x528
push ebx
push esi
push edi
mov eax, dword [0x617560]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [0x636fb4]
xor edi, edi
lea esi, [ebp - 0x128]
mov byte [ebp - 0x21], 0
mov dword [ebp - 0x90], eax
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0xf8], edi
call fcn.00405890
mov ebx, dword [ebp + 8]
mov esi, ebx
mov dword [ebp - 0x164], 5
mov dword [ebp - 0x160], edi
mov dword [ebx + 0x2ac], 1
call fcn.00447520
lea ecx, [ebp - 0xe0]
call fcn.004d4719
mov dword [ebp - 4], edi
cmp dword [ebx + 0x88], 0x120
mov dword [ebp - 0x9c], edi
ja 0x4617c7
cmp dword [ebx + 0x84], 0x160
jbe 0x4617c7
push 0xc
call fcn.004c495b
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
cmp esi, edi
mov byte [ebp - 4], 1
je 0x4617fb
mov edi, dword [ebx + 0x88]
add edi, edi
jmp 0x4617e4
push 0xc
call fcn.004c495b
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
cmp esi, edi
mov byte [ebp - 4], 2
je 0x4617fb
mov edi, dword [ebx + 0x88]
mov eax, dword [ebx + 0x84]
push 8
push eax
push esi
call fcn.0047cba0
mov dword [esi], vtable.CJpegEncoder.0
jmp 0x4617fd
xor esi, esi
mov byte [ebp - 4], 0
cmp dword [ebx + 0x1a8], 2
mov dword [ebp - 0xc8], esi
jne 0x461842
push 0x280
call fcn.004c495b
add esp, 4
test eax, eax
je 0x46183b
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x84]
push ecx
push edx
mov esi, eax
call fcn.0047d190
mov dword [ebp - 0x74], eax
jmp 0x461886
xor eax, eax
mov dword [ebp - 0x74], eax
jmp 0x461886
push 0xc
call fcn.004c495b
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
test esi, esi
mov byte [ebp - 4], 3
je 0x46187d
mov eax, dword [ebx + 0x84]
mov edi, dword [ebx + 0x88]
push 0xd
push eax
push esi
call fcn.0047cba0
mov dword [esi], vtable.CMpeg4Encoder.0
mov dword [esi + 4], 0
jmp 0x46187f
xor esi, esi
mov byte [ebp - 4], 0
mov dword [ebp - 0x74], esi
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 4]
push 0x2c
lea esi, [ebx + 0xcac]
push 0
push esi
mov dword [ebx + 0x1ac], ecx
call fcn.004ea260
mov edx, dword [ebx + 0x88]
mov eax, dword [ebx + 0x84]
add esp, 0xc
push edx
push eax
push 4
mov ebx, esi
call fcn.0047bee0
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0x21c]
push 0
push ecx
call fcn.004ea260
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
add esp, 0xc
push edx
push eax
push 1
lea ebx, [ebp - 0x21c]
call fcn.0047bee0
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0x248]
push 0
push ecx
call fcn.004ea260
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
add esp, 0xc
push edx
push eax
push 1
lea ebx, [ebp - 0x248]
call fcn.0047bee0
add esp, 0xc
xor eax, eax
push 0x2c
lea ecx, [ebp - 0x21c]
push eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0xec], eax
mov byte [ebp - 0x2d], al
lea edi, [esi + 0xcd8]
lea eax, [ebp - 0x2e0]
mov edx, ebx
mov ecx, 0xb
lea esi, [ebp - 0x21c]
push eax
mov dword [ebp - 0x78], edx
rep movsd dword es:[edi], dword [esi]
call fcn.004ea260
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
add esp, 0xc
push ecx
add edx, edx
push edx
push 1
lea ebx, [ebp - 0x2e0]
call fcn.0047bee0
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x2b4]
push 0
push eax
call fcn.004ea260
mov ecx, dword [esi + 0x88]
add esp, 0xc
push ecx
mov edx, dword [esi + 0x84]
add edx, edx
push edx
push 1
lea ebx, [ebp - 0x2b4]
call fcn.0047bee0
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x198]
push 0
push eax
call fcn.004ea260
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
add esp, 0xc
push ecx
push edx
push 1
lea ebx, [ebp - 0x198]
call fcn.0047bee0
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x1f0]
push 0
push eax
mov dword [ebp - 0x68], 0
call fcn.004ea260
mov eax, dword [esi + 0x88]
add esp, 0xc
cmp eax, 0x120
mov dword [ebp - 0xf0], 0xffffffff
ja 0x461a3d
mov ecx, dword [esi + 0x84]
cmp ecx, 0x160
jbe 0x461a3d
lea edx, [eax + eax]
push edx
push ecx
push 1
lea ebx, [ebp - 0x1f0]
call fcn.0047bee0
add esp, 0xc
mov eax, 0x160
cmp eax, dword [esi + 0x84]
sbb eax, eax
and eax, 0x20000
add eax, 0x30000
push eax
mov dword [ebp - 0xac], eax
call fcn.004c498b
add esp, 4
mov dword [ebp - 0x34], eax
call fcn.0046d490
mov edx, dword [esi + 0x84]
push esi
lea ecx, [esi + 0xa8]
push ecx
mov dword [ebp - 0x28], ecx
mov ecx, dword [esi + 0x88]
push ecx
push edx
mov ebx, eax
mov dword [ebp - 0x84], eax
call fcn.0046e000
push 0x48
xor ebx, ebx
lea eax, [ebp - 0x428]
push ebx
push eax
call fcn.004ea260
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x88]
add esp, 0xc
lea edi, [ebp - 0x42c]
mov dword [ebp - 0x42c], ecx
mov dword [ebp - 0x428], edx
call fcn.0048c1c0
push 0x48
lea eax, [ebp - 0x478]
push ebx
push eax
call fcn.004ea260
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x88]
add ecx, ecx
add esp, 0xc
lea edi, [ebp - 0x47c]
mov dword [ebp - 0x47c], ecx
mov dword [ebp - 0x478], edx
call fcn.0048c1c0
push 0x64
lea eax, [ebp - 0x358]
push ebx
push eax
call fcn.004ea260
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x88]
add esp, 0xc
lea esi, [ebp - 0x35c]
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x344], ebx
mov dword [ebp - 0x340], 1
call fcn.0048c6a0
push 0x64
lea eax, [ebp - 0x3c0]
push ebx
push eax
call fcn.004ea260
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x84]
mov edx, dword [edi + 0x88]
add ecx, ecx
add esp, 0xc
lea esi, [ebp - 0x3c4]
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x3c0], edx
mov dword [ebp - 0x3ac], ebx
mov dword [ebp - 0x3a8], 1
call fcn.0048c6a0
mov eax, dword [edi + 0x84]
mov edx, eax
mov dword [ebp - 0x2f4], edx
mov ecx, dword [edi + 0x88]
mov dword [ebp - 0x2f0], ecx
add edx, 0x10
shr eax, 1
shr ecx, 1
push edx
mov dword [ebp - 0x2ec], eax
mov dword [ebp - 0x2e8], ecx
call fcn.004e39c9
add esp, 4
cmp eax, ebx
je 0x461bde
lea ecx, [eax + 0xf]
and ecx, 0xfffffff0
cmp ecx, eax
jne 0x461bd5
add ecx, 0x10
mov dl, cl
sub dl, al
mov byte [ecx - 1], dl
jmp 0x461be0
xor ecx, ecx
mov eax, dword [0x636fb0]
push 0x2c
mov dword [ebp - 0x2e4], ecx
lea ecx, [ebp - 0x154]
push ebx
push ecx
mov dword [ebp - 0x6c], eax
call fcn.004ea260
mov edx, dword [edi + 0x88]
mov eax, dword [edi + 0x84]
add esp, 0xc
shr edx, 1
push edx
shr eax, 1
push eax
push 1
lea ebx, [ebp - 0x154]
call fcn.0047bee0
add esp, 0xc
push 0xc
call fcn.004c495b
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
test esi, esi
mov byte [ebp - 4], 4
je 0x461c5f
mov eax, dword [edi + 0x88]
mov edi, dword [edi + 0x84]
shr edi, 1
push 8
push edi
shr eax, 1
push esi
mov edi, eax
call fcn.0047cba0
mov edi, dword [ebp + 8]
mov dword [esi], vtable.CJpegEncoder.0
jmp 0x461c61
xor esi, esi
mov byte [ebp - 4], 0
cmp dword [edi + 0x7d74], 0
mov dword [ebp - 0xe4], esi
mov dword [edi + 0xdcc], 0
mov byte [edi + 0xdd0], 0
je 0x461caa
cmp dword [edi + 0x84], 0x160
ja 0x461ca3
cmp dword [edi + 0x198], 0
jne 0x461caa
cmp dword [edi + 0x7ce4], 5
jae 0x461caa
mov ebx, 1
jmp 0x461cac
xor ebx, ebx
xor esi, esi
push 0x2c
lea ecx, [ebp - 0x1c4]
push esi
push ecx
mov byte [edi + 0x7d78], bl
mov dword [ebp - 0xa0], esi
call fcn.004ea260
add esp, 0xc
test bl, bl
mov byte [ebp - 0x2e], 0
mov dword [ebp - 0xe8], esi
jne 0x461d03
mov edx, dword [edi + 0x84]
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x7ce4]
mov dword [edi + 0x90], edx
mov dword [edi + 0x94], eax
mov dword [edi + 0x98], ecx
jmp 0x461e5f
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x461d16
shr eax, 1
mov byte [ebp - 0x2e], 1
mov dword [edi + 0x90], eax
mov eax, dword [edi + 0x88]
cmp eax, 0x120
jbe 0x461d2f
shr eax, 1
or byte [ebp - 0x2e], 2
mov dword [edi + 0x94], eax
mov eax, dword [edi + 0x7ce4]
cmp eax, 5
jae 0x461d4c
mov dword [edi + 0x98], 6
jmp 0x461d5a
cmp eax, 8
jae 0x461d54
add eax, 2
mov dword [edi + 0x98], eax
cmp dword [edi + 0x1a8], 2
jne 0x461da1
push 0x280
call fcn.004c495b
add esp, 4
cmp eax, esi
je 0x461d94
mov edx, dword [edi + 0x88]
mov ecx, dword [edi + 0x84]
push edx
push ecx
mov esi, eax
call fcn.0047d190
mov dword [ebp - 0xa0], eax
jmp 0x461e29
xor eax, eax
mov dword [ebp - 0xa0], eax
jmp 0x461e29
push 0xc
call fcn.004c495b
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
test esi, esi
mov byte [ebp - 4], 5
je 0x461de1
mov eax, dword [edi + 0x88]
mov edi, dword [edi + 0x84]
push 0xd
push edi
push esi
mov edi, eax
call fcn.0047cba0
mov edi, dword [ebp + 8]
mov dword [esi], vtable.CMpeg4Encoder.0
mov dword [esi + 4], 0
jmp 0x461de3
xor esi, esi
push 0
push 0x61b3e0
push 0x61b2ac
push 0
push esi
mov byte [ebp - 4], 0
mov dword [ebp - 0xa0], esi
call fcn.004e4b01
add esp, 0x14
test eax, eax
je 0x461e29
mov edx, dword [eax + 8]
mov dword [edx + 0x70], 7
mov ecx, dword [eax + 8]
mov dword [ecx + 0x74], 0x10
mov edx, dword [eax + 8]
mov dword [edx + 0x370], 0xc80
mov eax, dword [edi + 0x94]
mov ecx, dword [edi + 0x90]
push eax
push ecx
push 1
lea ebx, [ebp - 0x1c4]
call fcn.0047bee0
mov eax, dword [edi + 0x90]
imul eax, dword [edi + 0x94]
lea eax, [eax + eax*2]
add esp, 0xc
shr eax, 1
mov dword [ebp - 0xe8], eax
mov esi, dword [edi + 0x198]
lea edx, [esi + 1]
test edx, edx
mov dword [ebp - 0x80], edx
fild dword [ebp - 0x80]
jge 0x461e78
fadd qword [0x600588]
fld qword [0x600548]
fmul st(1)
fadd qword [0x5d2190]
fdivrp st(1)
call fcn.004ec640
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0xf4], eax
jne 0x461ea3
mov dword [ebp - 0xf4], 1
mov eax, dword [edi + 0x7ce0]
cmp eax, 0xa
jge 0x461eba
mov dword [ebp - 0xa8], 0x48b800
jmp 0x461f0a
cmp eax, 0x64
jne 0x461ecb
mov dword [ebp - 0xa8], 0x48b530
jmp 0x461f0a
cmp eax, 0x12c
jne 0x461ede
mov dword [ebp - 0xa8], 0x48b800
jmp 0x461f0a
cmp eax, 0x190
jne 0x461ef1
mov dword [ebp - 0xa8], 0x48b800
jmp 0x461f0a
xor ecx, ecx
cmp eax, 0x1f4
setne cl
sub ecx, 1
and ecx, 0x48b800
mov dword [ebp - 0xa8], ecx
cmp dword [edi + 0x88], 0x120
jbe 0x461f1d
mov eax, 1
jmp 0x461f2d
mov edx, 0x160
cmp edx, dword [edi + 0x84]
sbb eax, eax
and eax, 2
mov ecx, dword [edi + 0xd14]
mov edx, dword [edi + 0x18c]
push ecx
mov ecx, dword [edi + 0x188]
push edx
mov edx, dword [edi + 0x184]
push ecx
mov ecx, dword [edi + 0x180]
push edx
mov edx, dword [edi + 0x8c]
push ecx
push esi
push eax
push edx
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_ConfigChannel_enum_VIDEOFORMAT__enum_VIDEORESOLUTION__unsigned_long_int__int__int__int__int__int_]
mov eax, dword [edi + 0xd14]
push eax
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_StartChannel_int_]
add esp, 0x24
test eax, eax
jl 0x4658c6
cmp dword [edi + 0x7d6c], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0xcc], ebx
je 0x461fb9
cmp byte [edi + 0x81f], 0
je 0x461fb9
push ebx
push ebx
push edi
push 0x45c5d0
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x7cec], eax
mov ecx, dword [ebp - 0x28]
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x84]
call fcn.0046e600
jmp 0x461fd0
mov ecx, dword [ebp - 0xa8]
mov edx, dword [edi + 0xd14]
push ecx
mov ecx, dword [ebp - 0x18]
push edx
mov edx, dword [ecx]
lea eax, [ebp - 0x8c]
push eax
push 0
push edx
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_GetVideo_unsigned_char___enum_COLORFORMAT__unsigned_long_long_unsigned___int64____int__void__]
add esp, 0x14
test eax, eax
mov dword [ebp - 0x70], eax
jge 0x462009
mov dword [ebp - 4], 0
jmp 0x4658ae
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
push 0
push 0x2710
push eax
push ecx
call fcn.004f1720
push 0
push 0x5265c00
push edx
push eax
call fcn.005bb140
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x2b0]
test al, 2
je 0x46204a
and eax, 0xfffffffd
mov dword [edi + 0x2b0], eax
mov eax, dword [edi + 0x2b0]
test al, 8
je 0x4622ab
and eax, 0xfffffff7
xor ebx, ebx
cmp dword [ebp - 0x9c], ebx
mov dword [edi + 0x2b0], eax
je 0x4620c8
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x7c]
cmp dword [eax - 0xc], ebx
jne 0x46207e
mov ebx, 1
lea esi, [ebp - 0x494]
call fcn.00405890
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xfc], ecx
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0xf8], eax
sbb eax, dword [ebp - 0x124]
cmp eax, dword [ebp - 0x160]
jl 0x4622a1
jg 0x4620c0
cmp ecx, dword [ebp - 0x164]
jbe 0x4622a1
test ebx, ebx
jne 0x4622a1
mov eax, dword [edi + 0x88]
cmp eax, 0x120
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x68], ecx
ja 0x46210e
mov ecx, dword [edi + 0x84]
cmp ecx, 0x160
jbe 0x46210e
mov ebx, dword [ebp - 0x18]
lea edx, [ebp - 0x1f0]
push edx
call fcn.0048ad80
lea eax, [ebp - 0x1f0]
add esp, 4
mov dword [ebp - 0x1d0], 1
mov dword [ebp - 0x68], eax
cmp byte [ebp - 0x21], 0
je 0x46213f
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
mov edx, dword [ebp - 0x198]
push 0x120
push 0x160
push eax
push edx
call dword [0x668a1c]
add esp, 0x10
emms
lea eax, [ebp - 0x198]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
push 0
push eax
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x68]
push eax
call edx
mov dword [ebp - 0x28], eax
call fcn.004c5661
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x46217a
push 0x80004005
call fcn.00404150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
push ecx
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x2c], esp
push 0x5f50ef
call fcn.00416360
lea ecx, [ebp - 0x168]
push ecx
push edi
call fcn.00446910
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 8
call fcn.00404e30
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x168]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4621dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x20]
push 0x5fd778
push ebx
call fcn.004e7305
mov esi, eax
add esp, 8
test esi, esi
je 0x462210
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
push esi
push ecx
push 1
push edx
call fcn.004e7432
add esp, 0x10
push esi
call fcn.004e7532
add esp, 4
cmp dword [ebp - 0x9c], 0
je 0x462269
call fcn.0044f210
test eax, eax
je 0x462269
call fcn.00476990
push ecx
mov dword [ebp - 0x28], eax
lea eax, [ebx - 0x10]
mov dword [ebp - 0x9c], esp
mov esi, esp
push eax
call fcn.00405220
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov eax, dword [ebp - 0x90]
push ecx
mov byte [ebp - 4], 9
add eax, 0x7c
mov ecx, esp
mov dword [ebp - 0x2c], esp
push eax
call fcn.00404bc0
mov esi, dword [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00476ce0
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xf8]
lea eax, [ebx - 0x10]
mov dword [ebp - 0x128], ecx
mov dword [ebp - 0x124], edx
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4622a1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0x9c], 0
mov eax, dword [edi + 0x2b0]
test al, al
jns 0x462310
and eax, 0xffffff7f
cmp byte [edi + 0x2a9], 0
mov dword [edi + 0x2b0], eax
mov dword [ebp - 0xcc], 0
je 0x462309
mov esi, dword [edi + 0x7d28]
test esi, esi
je 0x462302
call fcn.0047c4d0
mov eax, dword [edi + 0x7d28]
push eax
call fcn.004c4986
add esp, 4
mov esi, edi
mov dword [edi + 0x7d28], 0
call fcn.00446090
mov byte [edi + 0x2a9], 0
mov esi, edi
call fcn.00447520
mov eax, dword [edi + 0x2b0]
test al, 0x40
je 0x462369
and eax, 0xffffffbf
cmp byte [edi + 0x2a8], 0
mov dword [edi + 0x2b0], eax
je 0x462362
mov esi, dword [edi + 0x7d24]
test esi, esi
je 0x46235b
call fcn.0047c4d0
mov eax, dword [edi + 0x7d24]
push eax
call fcn.004c4986
add esp, 4
mov esi, edi
mov dword [edi + 0x7d24], 0
call fcn.00446090
mov byte [edi + 0x2a8], 0
mov esi, edi
call fcn.00447520
mov eax, dword [edi + 0x2b0]
test al, 0x20
je 0x4625d8
and eax, 0xffffffdf
cmp byte [edi + 0x2a9], 0
mov dword [edi + 0x2b0], eax
mov dword [ebp - 0xcc], 1
jne 0x4625c7
mov esi, dword [edi + 0x7d28]
test esi, esi
je 0x4623c6
call fcn.0047c4d0
mov eax, dword [edi + 0x7d28]
push eax
call fcn.004c4986
add esp, 4
mov esi, edi
mov dword [edi + 0x7d28], 0
call fcn.00446090
lea ecx, [ebp - 0x120]
push 0x637a44
push ecx
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x4623eb
mov eax, dword [ebp - 0x10c]
add eax, 0x76c
jmp 0x4623ed
xor eax, eax
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov word [ebp - 0xc0], ax
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x462417
mov eax, dword [ebp - 0x110]
add eax, 1
jmp 0x462419
xor eax, eax
mov byte [ebp - 0xbe], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e44dc
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x120]
push 0x637a44
push ecx
mov byte [ebp - 0xbd], al
call fcn.004e44dc
add esp, 0x10
test eax, eax
jne 0x462462
mov eax, dword [ebp - 0x118]
jmp 0x462465
or eax, 0xffffffff
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov byte [ebp - 0xbc], al
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x46248b
mov eax, dword [ebp - 0x11c]
jmp 0x46248e
or eax, 0xffffffff
mov byte [ebp - 0xbb], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x4624b4
mov eax, dword [ebp - 0x120]
jmp 0x4624b7
or eax, 0xffffffff
push 0x3048
mov byte [ebp - 0xba], al
mov byte [ebp - 0xb9], 0
call fcn.004c495b
mov ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
add esp, 4
push ecx
movzx ecx, byte [edi + 0xa0]
push edx
movzx edx, byte [edi + 0x9c]
mov dword [edi + 0x7d28], eax
movzx eax, byte [edi + 0x1b4]
push eax
movzx eax, word [edi + 0x9e]
push ecx
movzx ecx, byte [edi + 0x1ac]
mov ebx, dword [edi + 0x7d24]
push edx
movzx edx, byte [edi + 0x7ce4]
push eax
mov eax, dword [edi + 0x198]
push ecx
movzx ecx, byte [edi + 0xd44]
push edx
mov edx, dword [edi + 0x88]
add eax, 1
push eax
mov eax, dword [edi + 0x84]
push ecx
push edx
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push str.alarm
call fcn.00416360
push edi
lea ecx, [ebp - 0x16c]
call fcn.00446320
mov esi, eax
mov byte [ebp - 4], 0xa
mov eax, dword [esi]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x462573
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.00405400
mov esi, dword [esi]
push esi
mov esi, ebx
call fcn.0047c370
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x16c]
add eax, 0xfffffff0
add esp, 0x34
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4625a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov dword [edi + 0xdcc], 1
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xb0], eax
mov byte [edi + 0x2a9], 1
jmp 0x4625d1
mov dword [ebp - 0x94], 0
mov esi, edi
call fcn.00447520
mov eax, dword [edi + 0x2b0]
test al, 0x10
je 0x462829
and eax, 0xffffffef
cmp byte [edi + 0x2a8], 0
mov dword [edi + 0x2b0], eax
jne 0x462822
mov esi, dword [edi + 0x7d24]
test esi, esi
je 0x46262b
call fcn.0047c4d0
mov eax, dword [edi + 0x7d24]
push eax
call fcn.004c4986
add esp, 4
mov esi, edi
mov dword [edi + 0x7d24], 0
call fcn.00446090
lea ecx, [ebp - 0x120]
push 0x637a44
push ecx
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x462650
mov eax, dword [ebp - 0x10c]
add eax, 0x76c
jmp 0x462652
xor eax, eax
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov word [ebp - 0xb8], ax
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x46267c
mov eax, dword [ebp - 0x110]
add eax, 1
jmp 0x46267e
xor eax, eax
mov byte [ebp - 0xb6], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e44dc
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x120]
push 0x637a44
push ecx
mov byte [ebp - 0xb5], al
call fcn.004e44dc
add esp, 0x10
test eax, eax
jne 0x4626c7
mov eax, dword [ebp - 0x118]
jmp 0x4626ca
or eax, 0xffffffff
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov byte [ebp - 0xb4], al
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x4626f0
mov eax, dword [ebp - 0x11c]
jmp 0x4626f3
or eax, 0xffffffff
mov byte [ebp - 0xb3], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e44dc
add esp, 8
test eax, eax
jne 0x462719
mov eax, dword [ebp - 0x120]
jmp 0x46271c
or eax, 0xffffffff
push 0x3048
mov byte [ebp - 0xb2], al
mov byte [ebp - 0xb1], 0
call fcn.004c495b
mov ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
add esp, 4
push ecx
movzx ecx, byte [edi + 0xa0]
push edx
movzx edx, byte [edi + 0x9c]
mov ebx, eax
movzx eax, byte [edi + 0x1b4]
push eax
movzx eax, word [edi + 0x9e]
push ecx
movzx ecx, byte [edi + 0x1ac]
push edx
movzx edx, byte [edi + 0x7ce4]
push eax
mov eax, dword [edi + 0x198]
push ecx
movzx ecx, byte [edi + 0xd44]
push edx
mov edx, dword [edi + 0x88]
add eax, 1
push eax
mov eax, dword [edi + 0x84]
push ecx
push edx
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
push 0x5f50ef
mov dword [edi + 0x7d24], ebx
call fcn.00416360
push edi
lea ecx, [ebp - 0x15c]
call fcn.00446320
mov esi, eax
mov byte [ebp - 4], 0xb
mov eax, dword [esi]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x4627d4
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.00405400
mov esi, dword [esi]
push esi
mov esi, ebx
call fcn.0047c370
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x15c]
add eax, 0xfffffff0
add esp, 0x34
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x462807
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [edi + 0xdcc], 1
mov dword [ebp - 0xa4], 0
mov byte [edi + 0x2a8], 1
mov esi, edi
call fcn.00447520
cmp dword [edi + 0x7d70], 0
je 0x462898
cmp dword [ebp - 0xcc], 0
je 0x462889
mov edx, dword [ebp - 0xf0]
lea ecx, [ebp - 0xd0]
push ecx
mov esi, 1
push edx
mov dword [ebp - 0xd0], esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [ebp - 0xd0], esi
jne 0x462898
push 0
push 0
push 0
push 0x461640
push 0
push 0
mov dword [ebp - 0xd0], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xf0], eax
jmp 0x462898
push 1
push 0
push 0x5f50ef
call dword [sym.imp.WINMM.dll_PlaySoundA]
mov eax, dword [ebp - 0x70]
cmp eax, 1
jne 0x4628ab
lea ecx, [edi + 0xa8]
jmp 0x461fc0
cmp eax, 2
jne 0x4628f8
cmp byte [ebp - 0x21], 0
jne 0x46293d
mov ecx, dword [edi + 0x88]
mov ebx, dword [ebp - 0x84]
lea eax, [edi + 0xa8]
mov edi, dword [edi + 0x84]
push ecx
add edi, edi
mov byte [ebp - 0x21], 1
call fcn.0046e350
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x2e0]
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x78], eax
jmp 0x461fd0
test eax, eax
jne 0x46293d
cmp byte [ebp - 0x21], 1
jne 0x46293d
mov ecx, dword [edi + 0x88]
mov ebx, dword [ebp - 0x84]
mov byte [ebp - 0x21], al
lea eax, [edi + 0xa8]
mov edi, dword [edi + 0x84]
push ecx
call fcn.0046e350
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x21c]
lea eax, [ebp - 0x248]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x78], eax
jmp 0x461fd0
mov esi, dword [ebp - 0x18]
add dword [ebp - 0x7c], 1
cmp dword [edi + 0x7ce0], 0xa
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [edi + 0xcd8], eax
mov dword [edi + 0xcdc], ecx
mov dword [edi + 0xce0], edx
jge 0x4629f4
mov ecx, dword [edi + 0x84]
cmp ecx, 0x160
jbe 0x4629f4
add ecx, ecx
add ecx, ecx
cmp dword [edi + 0x88], 0x120
jbe 0x4629b8
add ecx, ecx
push ecx
push 0
push eax
call fcn.004ea260
mov edx, dword [edi + 0x84]
mov eax, dword [edi + 0xcdc]
add esp, 0xc
add edx, edx
push edx
push 0x7f
push eax
call fcn.004ea260
mov ecx, dword [edi + 0x84]
add ecx, ecx
jmp 0x4629df
push ecx
push 0
push eax
call fcn.004ea260
mov edx, dword [edi + 0x84]
mov eax, dword [edi + 0xcdc]
add esp, 0xc
push edx
push 0x7f
push eax
call fcn.004ea260
mov ecx, dword [edi + 0x84]
mov edx, dword [edi + 0xce0]
add esp, 0xc
push ecx
push 0x7f
push edx
call fcn.004ea260
add esp, 0xc
cmp dword [edi + 0x88], 0x120
jbe 0x462a16
cmp dword [edi + 0x1c8], 0
je 0x462a16
mov eax, dword [esi]
lea esi, [ebp - 0x2f4]
call fcn.0048b010
cmp byte [ebp - 0x21], 0
mov eax, dword [edi + 0x1d0]
jne 0x463b04
movzx ecx, byte [ebp - 0x2d]
cmp eax, ecx
je 0x462a34
test eax, eax
setne byte [ebp - 0x2d]
cmp dword [edi + 0xddc], 0
je 0x462da3
mov eax, dword [edi + 0x88]
cmp eax, 0x120
ja 0x462c97
cmp dword [edi + 0x84], 0x160
ja 0x462b73
cmp dword [edi + 0xd34], 0
jle 0x462da3
mov eax, dword [edi + 0xd34]
mov esi, dword [edi + 0xd3c]
cdq
sub eax, edx
mov ebx, eax
mov eax, esi
sub esi, dword [edi + 0xd34]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [edi + 0xd38]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x274], eax
mov eax, dword [edi + 0xd40]
cdq
sar ebx, 1
sar ecx, 1
sub eax, edx
add esi, 1
sar eax, 1
sub ecx, ebx
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [edi + 0xd38]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0xd40]
jg 0x462af7
mov eax, dword [edi + 0x84]
mov edx, dword [ebp - 0x28]
imul eax, esi
add eax, dword [edi + 0xd34]
mov ecx, dword [ebp - 0x18]
add eax, dword [ecx]
push edx
push 0x23
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462ac7
mov esi, dword [ebp - 0x274]
lea ecx, [ecx]
cmp esi, dword [ebp - 0x26c]
jg 0x462b32
mov eax, dword [edi + 0x84]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
shr eax, 1
imul eax, esi
add eax, dword [ecx + 4]
push edx
add eax, ebx
push 0xd4
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462b00
mov esi, dword [ebp - 0x274]
jmp 0x462b40
cmp esi, dword [ebp - 0x26c]
jg 0x462da3
mov eax, dword [edi + 0x84]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
shr eax, 1
imul eax, esi
add eax, dword [ecx + 8]
push edx
add eax, ebx
push 0x72
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462b40
cmp eax, 0x120
ja 0x462c97
cmp dword [edi + 0x84], 0x2c0
ja 0x462c97
cmp dword [edi + 0xd34], 0
jle 0x462da3
mov eax, dword [edi + 0xd34]
mov ecx, dword [edi + 0xd3c]
lea ebx, [eax + eax]
mov eax, dword [edi + 0xd38]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x254], eax
mov eax, dword [edi + 0xd40]
lea esi, [ecx + ecx]
sub ecx, dword [edi + 0xd34]
cdq
sub esi, ebx
sub eax, edx
add esi, 1
sar eax, 1
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [edi + 0xd38]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x20], ecx
lea esp, [esp]
cmp esi, dword [edi + 0xd40]
jg 0x462c1c
mov eax, dword [edi + 0x84]
mov edx, dword [ebp - 0x28]
imul eax, esi
mov ecx, dword [ebp - 0x18]
push edx
add eax, ebx
add eax, dword [ecx]
push 0x23
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462bf0
mov esi, dword [ebp - 0x254]
cmp esi, dword [ebp - 0x24c]
jg 0x462c58
mov eax, dword [edi + 0x84]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
shr eax, 1
imul eax, esi
add eax, dword [edi + 0xd34]
push edx
add eax, dword [ecx + 4]
push 0xd4
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462c22
mov esi, dword [ebp - 0x254]
mov edi, edi
cmp esi, dword [ebp - 0x24c]
jg 0x462da3
mov eax, dword [edi + 0x84]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
shr eax, 1
imul eax, esi
add eax, dword [edi + 0xd34]
push edx
add eax, dword [ecx + 8]
push 0x72
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462c60
cmp eax, 0x240
ja 0x462da3
cmp dword [edi + 0x84], 0x2c0
ja 0x462da3
mov eax, dword [edi + 0xd34]
test eax, eax
jle 0x462da3
mov edx, dword [edi + 0xd38]
mov esi, dword [edi + 0xd40]
lea ebx, [eax + eax]
mov eax, dword [edi + 0xd3c]
lea ecx, [eax + eax]
sub eax, dword [edi + 0xd34]
sub ecx, ebx
add esi, esi
add edx, edx
add ecx, 1
add eax, 1
mov dword [ebp - 0x480], esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], eax
mov esi, edx
cmp esi, dword [ebp - 0x480]
jg 0x462d24
mov eax, dword [edi + 0x84]
mov edx, dword [ebp - 0x28]
imul eax, esi
mov ecx, dword [ebp - 0x18]
push edx
add eax, ebx
add eax, dword [ecx]
push 0x23
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462cf8
mov esi, dword [edi + 0xd38]
lea ebx, [ebx]
cmp esi, dword [edi + 0xd40]
jg 0x462d66
mov eax, dword [edi + 0x84]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
shr eax, 1
imul eax, esi
add eax, dword [edi + 0xd34]
push edx
add eax, dword [ecx + 4]
push 0xd4
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462d30
mov esi, dword [edi + 0xd38]
lea esp, [esp]
cmp esi, dword [edi + 0xd40]
jg 0x462da3
mov eax, dword [edi + 0x84]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
shr eax, 1
imul eax, esi
add eax, dword [edi + 0xd34]
push edx
add eax, dword [ecx + 8]
push 0x72
push eax
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x462d70
cmp byte [edi + 0x81c], 1
jne 0x462f3c
mov eax, dword [ebp - 0x7c]
xor edx, edx
div dword [ebp - 0xf4]
test edx, edx
jne 0x462f3c
mov eax, dword [edi + 0xd1c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x344], 1
jne 0x462de5
mov dword [ebp - 0x338], 4
jmp 0x462e05
cmp eax, 1
jne 0x462df6
mov dword [ebp - 0x338], 0x14
jmp 0x462e05
cmp eax, 2
jne 0x462e05
mov dword [ebp - 0x338], 0x64
mov edx, dword [edi + 0xd28]
mov esi, dword [edi + 0xd20]
cmp edx, esi
jle 0x462ecd
mov eax, dword [edi + 0xd2c]
mov ecx, dword [edi + 0xd24]
cmp eax, ecx
jle 0x462ecd
mov ebx, dword [edi + 0x88]
cmp ebx, 0x120
ja 0x462e96
cmp dword [edi + 0x84], 0x160
ja 0x462e64
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x328], eax
jmp 0x462ef1
cmp ebx, 0x120
ja 0x462e96
cmp dword [edi + 0x84], 0x2c0
ja 0x462e96
add esi, esi
add edx, edx
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x328], eax
jmp 0x462ef1
cmp ebx, 0x240
ja 0x462ef1
cmp dword [edi + 0x84], 0x2c0
ja 0x462ef1
add edx, edx
add esi, esi
mov dword [ebp - 0x330], edx
add ecx, ecx
lea edx, [eax + eax]
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x328], edx
jmp 0x462ef1
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x88]
mov dword [ebp - 0x334], ebx
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], ebx
mov dword [ebp - 0x328], ecx
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x35c]
push eax
call fcn.0048c310
mov ecx, dword [ebp - 0x33c]
add esp, 8
cmp ecx, dword [ebp - 0x338]
jle 0x462f3c
cmp byte [edi + 0x81c], 0
je 0x462f22
or dword [edi + 0x2b0], 0x20
mov eax, 1
cmp dword [edi + 0xd30], eax
jne 0x462f3c
or dword [edi + 0x2b0], 8
mov dword [ebp - 0x9c], eax
cmp dword [edi + 0x1b8], 1
jne 0x462f5d
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x18]
push edx
lea edi, [ebp - 0x42c]
call fcn.0048c160
mov edi, dword [ebp + 8]
add esp, 4
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x24], 0
je 0x46389c
call fcn.004c5661
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x462f87
push 0x80004005
call fcn.00404150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
lea esi, [ebp - 0x3d0]
mov byte [ebp - 4], 0xc
call fcn.00405890
mov ecx, esi
push ecx
mov esi, str._y__m__d__H:_M:_S
lea edi, [ebp - 0x158]
call fcn.00405a10
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.00404e30
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x158]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x462feb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx - 0xc]
mov dword [ebp - 0x28], edx
xor eax, eax
cmp eax, dword [ebp - 0x28]
jge 0x463879
xor ebx, ebx
cmp eax, ebx
jl 0x46386f
cmp eax, dword [ecx - 0xc]
jg 0x46386f
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0x88]
cmp edx, 0x240
mov cl, byte [eax + ecx]
jne 0x463184
cmp dword [edi + 0x84], 0x2c0
jne 0x463184
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463050.33
movzx ecx, byte [ecx + 0x465bf4]
jmp dword [ecx*4 + 0x465bbc]
mov dword [ebp - 0x5c], 0x633e28
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x634128
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x6318a8
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x630768
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x631368
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x631068
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x633768
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x631f68
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x630be8
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x633a68
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x6332e8
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x630468
jmp case.0x463050.33
mov dword [ebp - 0x5c], 0x632e68
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx ebx, byte [esi + edx + 0x389a]
movzx ecx, byte [esi + edx + 0x38a9]
add ecx, ebx
movzx ebx, byte [esi + edx + 0xb9e9]
movzx edx, byte [esi + edx + 0xb9da]
add ecx, ebx
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x463110
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46312a
cmp ecx, 0x60
jge 0x463123
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46312a
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x463864
xor ecx, ecx
lea ecx, [ecx]
cmp ecx, 0x10
jge 0x46317f
mov ebx, dword [ebp - 0x5c]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x46317a
mov bl, byte [ebp - 0x1c]
add edx, 0x14
imul edx, dword [edi + 0x84]
add edx, ecx
mov esi, eax
shl esi, 4
add esi, edx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
mov byte [esi + edx + 0x19a], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x463140
add edx, 1
jmp 0x46312f
cmp edx, 0x120
jne 0x46344c
cmp dword [edi + 0x84], 0x2c0
jne 0x4632ef
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x4631b6.33
movzx ecx, byte [ecx + 0x465c48]
jmp dword [ecx*4 + 0x465c10]
mov dword [ebp - 0x64], 0x632ce8
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x632928
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x6335e8
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x6327a8
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x632b68
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x6323e8
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x6302e8
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x631c68
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x632268
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x631728
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x633168
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x632628
jmp case.0x4631b6.33
mov dword [ebp - 0x64], 0x630a68
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx]
lea esi, [eax + eax*2 + 0x840]
lea esi, [ecx + esi*4]
lea edx, [eax + eax*2]
lea edx, [ecx + edx*4 + 0xa240]
movzx ecx, byte [esi + 0x1d3]
movzx esi, byte [esi + 0x1cc]
add ecx, esi
movzx esi, byte [edx + 0x1d3]
movzx edx, byte [edx + 0x1cc]
add ecx, esi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x463282
mov dword [ebp - 0x1c], ebx
mov dword [edi + eax*4 + 0x828], ebx
jmp 0x46329f
cmp ecx, 0x60
jge 0x463295
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46329c
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x463864
xor ecx, ecx
nop
cmp ecx, 8
jge 0x4632ea
mov ebx, dword [ebp - 0x64]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x4632e5
mov bl, byte [ebp - 0x1c]
add edx, 0xc
imul edx, dword [edi + 0x84]
lea esi, [eax + eax*2]
add edx, ecx
lea edx, [edx + esi*4]
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
mov byte [edx + esi + 0x1cc], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x4632b0
add edx, 1
jmp 0x4632a1
cmp edx, 0x120
jne 0x46344c
cmp dword [edi + 0x84], 0x160
jne 0x46344c
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463321.33
movzx ecx, byte [ecx + 0x465c9c]
jmp dword [ecx*4 + 0x465c64]
mov dword [ebp - 0x58], 0x632568
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x6345a8
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x632aa8
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x630fa8
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x631668
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x6344e8
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x631ea8
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x630228
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x633d68
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x631de8
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x631ba8
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x634428
jmp case.0x463321.33
mov dword [ebp - 0x58], 0x630ee8
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
movzx esi, byte [edx + eax*8 + 0x7ad]
movzx ecx, byte [edx + eax*8 + 0x7b4]
add ecx, esi
movzx esi, byte [edx + eax*8 + 0x2754]
movzx edx, byte [edx + eax*8 + 0x274d]
add ecx, esi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x4633dd
mov dword [ebp - 0x1c], ebx
mov dword [edi + eax*4 + 0x828], ebx
jmp 0x4633fa
cmp ecx, 0x60
jge 0x4633f0
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4633f7
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x18
mov dword [ebp - 0x20], edx
jge 0x463864
xor ecx, ecx
lea ebx, [ebx]
cmp ecx, 8
jge 0x463447
mov ebx, dword [ebp - 0x58]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x463442
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
mov bl, byte [ebp - 0x1c]
add edx, 5
imul edx, dword [edi + 0x84]
add edx, ecx
lea edx, [edx + eax*8]
mov byte [edx + esi + 0xcd], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x463410
add edx, 1
jmp 0x4633fc
cmp edx, 0x1e0
jne 0x4635b4
cmp dword [edi + 0x84], 0x280
jne 0x4635b4
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x46347e.33
movzx ecx, byte [ecx + 0x465cf0]
jmp dword [ecx*4 + 0x465cb8]
mov dword [ebp - 0x60], 0x633e28
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x634128
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x6318a8
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x630768
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x631368
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x631068
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x633768
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x631f68
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x630be8
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x633a68
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x6332e8
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x630468
jmp case.0x46347e.33
mov dword [ebp - 0x60], 0x632e68
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx ebx, byte [esi + edx + 0x3354]
movzx ecx, byte [esi + edx + 0x3363]
add ecx, ebx
movzx ebx, byte [esi + edx + 0xa8e3]
movzx edx, byte [esi + edx + 0xa8d4]
add ecx, ebx
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x46353e
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463558
cmp ecx, 0x60
jge 0x463551
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463558
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x463864
xor ecx, ecx
jmp 0x463570
cmp ecx, 0x10
jge 0x4635af
mov ebx, dword [ebp - 0x60]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x4635aa
mov bl, byte [ebp - 0x1c]
add edx, 0x14
imul edx, dword [edi + 0x84]
add edx, ecx
mov esi, eax
shl esi, 4
add esi, edx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
mov byte [esi + edx + 0x154], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x463570
add edx, 1
jmp 0x46355d
cmp edx, 0xf0
jne 0x463864
cmp dword [edi + 0x84], 0x280
jne 0x463714
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x4635e6.33
movzx ecx, byte [ecx + 0x465d44]
jmp dword [ecx*4 + 0x465d0c]
mov dword [ebp - 0x54], 0x632ce8
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x632928
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x6335e8
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x6327a8
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x632b68
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x6323e8
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x6302e8
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x631c68
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x632268
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x631728
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x633168
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x632628
jmp case.0x4635e6.33
mov dword [ebp - 0x54], 0x630a68
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
movzx ebx, byte [esi + edx + 0x1a90]
movzx ecx, byte [esi + edx + 0x1a97]
add ecx, ebx
movzx ebx, byte [esi + edx + 0x9017]
movzx edx, byte [esi + edx + 0x9010]
add ecx, ebx
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x4636a8
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4636c2
cmp ecx, 0x60
jge 0x4636bb
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4636c2
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x463864
xor ecx, ecx
cmp ecx, 8
jge 0x46370f
mov ebx, dword [ebp - 0x54]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x46370a
mov bl, byte [ebp - 0x1c]
add edx, 0xa
imul edx, dword [edi + 0x84]
lea esi, [eax + eax*2]
add edx, ecx
lea edx, [edx + esi*4]
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
mov byte [edx + esi + 0x190], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x4636d5
add edx, 1
jmp 0x4636c7
cmp edx, 0xf0
jne 0x463864
cmp dword [edi + 0x84], 0x140
jne 0x463864
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463746.33
movzx ecx, byte [ecx + 0x465d98]
jmp dword [ecx*4 + 0x465d60]
mov dword [ebp - 0x44], 0x632568
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x6345a8
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x632aa8
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x630fa8
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x631668
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x6344e8
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x631ea8
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x630228
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x633d68
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x631de8
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x631ba8
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x634428
jmp case.0x463746.33
mov dword [ebp - 0x44], 0x630ee8
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
movzx esi, byte [edx + eax*8 + 0x6ef]
movzx ecx, byte [edx + eax*8 + 0x6f6]
add ecx, esi
movzx esi, byte [edx + eax*8 + 0x23b6]
movzx edx, byte [edx + eax*8 + 0x23af]
add ecx, esi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x463802
mov dword [ebp - 0x1c], ebx
mov dword [edi + eax*4 + 0x828], ebx
jmp 0x46381f
cmp ecx, 0x60
jge 0x463815
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46381c
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor esi, esi
cmp esi, 0x18
jge 0x463864
xor ecx, ecx
cmp ecx, 8
jge 0x46385f
mov ebx, dword [ebp - 0x44]
lea edx, [ecx + esi*8]
cmp byte [edx + ebx], 0
je 0x46385a
mov bl, byte [ebp - 0x1c]
lea edx, [esi + 5]
imul edx, dword [edi + 0x84]
mov edi, dword [ebp - 0x18]
mov edi, dword [edi]
add edx, ecx
lea edx, [edx + eax*8]
mov byte [edx + edi + 0xaf], bl
mov edi, dword [ebp + 8]
add ecx, 1
jmp 0x463828
add esi, 1
jmp 0x463821
mov ecx, dword [ebp - 0x2c]
add eax, 1
jmp 0x462ff6
push 0x80070057
call fcn.00404150
lea eax, [ecx - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x463899
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0x90]
cmp dword [ecx + 0x28], 0
mov edx, dword [ebp - 0x18]
je 0x463adf
mov ecx, dword [edi + 0x88]
cmp ecx, 0x120
jbe 0x463986
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x46397a
mov ecx, dword [edx]
mov esi, eax
imul esi, esi, 0x43
movzx ebx, byte [esi + ecx + 0x173]
lea eax, [eax + eax*4]
add esi, ecx
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x173]
movzx ecx, byte [ecx + 0x14]
add eax, ebx
add eax, ecx
movzx ecx, byte [esi + 0x14]
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x463912
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x46392a
cmp eax, 0x60
jge 0x463924
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x46392a
mov ebx, dword [edi + 0x888]
xor ecx, ecx
lea esp, [esp]
cmp ecx, 0x30
jge 0x463adf
xor eax, eax
jmp 0x463940
cmp eax, 0x160
jge 0x463975
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x3ae0], 0
je 0x463970
mov edx, dword [edx]
lea esi, [ecx + 0x14]
imul esi, dword [edi + 0x84]
add esi, eax
mov byte [esi + edx + 0x14], bl
mov edx, dword [ebp - 0x18]
add eax, 1
jmp 0x463940
add ecx, 1
jmp 0x463930
cmp ecx, 0x120
ja 0x463a3a
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x463a3a
mov ecx, dword [edx]
mov esi, eax
imul esi, esi, 0x23
movzx ebx, byte [esi + ecx + 0x16e]
lea eax, [eax + eax*2]
add esi, ecx
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x16e]
movzx ecx, byte [ecx + 0xf]
add eax, ebx
add eax, ecx
movzx ecx, byte [esi + 0xf]
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x4639d7
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x4639ef
cmp eax, 0x60
jge 0x4639e9
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x4639ef
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x463adf
xor eax, eax
lea esp, [esp]
cmp eax, 0x160
jge 0x463a35
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x19e0], 0
je 0x463a30
mov edx, dword [edx]
lea esi, [ecx + 0xc]
imul esi, dword [edi + 0x84]
add esi, eax
mov byte [esi + edx + 0xf], bl
mov edx, dword [ebp - 0x18]
add eax, 1
jmp 0x463a00
add ecx, 1
jmp 0x4639f1
mov ecx, dword [edi + 0x84]
mov esi, dword [edx]
lea eax, [ecx*8]
sub eax, ecx
lea ebx, [esi + eax*4]
lea eax, [esi + ecx*4 + 8]
movzx eax, byte [ecx + eax + 2]
lea esi, [esi + ecx*4]
movzx ecx, byte [ecx + esi + 0x89]
add eax, ecx
movzx ecx, byte [ebx + 0x89]
add eax, ecx
movzx ecx, byte [ebx + 0xa]
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x463a87
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x463a9f
cmp eax, 0x60
jge 0x463a99
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x463a9f
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x463adf
xor eax, eax
cmp eax, 0x80
jge 0x463ada
mov esi, ecx
shl esi, 7
add esi, eax
cmp byte [esi + edi + 0xde0], 0
je 0x463ad5
mov edx, dword [edx]
lea esi, [ecx + 5]
imul esi, dword [edi + 0x84]
add esi, eax
mov byte [esi + edx + 0xa], bl
mov edx, dword [ebp - 0x18]
add eax, 1
jmp 0x463aa8
add ecx, 1
jmp 0x463aa1
cmp dword [edi + 0x194], 0
je 0x464bc1
mov ebx, dword [ebp - 0x84]
lea eax, [edi + 0xa8]
push eax
push edx
call fcn.0046e3d0
jmp 0x464bc1
movzx edx, byte [ebp - 0x2d]
shl dword [edi + 0x84], 1
cmp eax, edx
mov ecx, dword [edi + 0x84]
je 0x463b1e
test eax, eax
setne byte [ebp - 0x2d]
cmp dword [edi + 0xddc], 0
je 0x463e73
mov eax, dword [edi + 0x88]
cmp eax, 0x120
ja 0x463d6a
cmp ecx, 0x160
ja 0x463c53
cmp dword [edi + 0xd34], 0
jle 0x463e73
mov eax, dword [edi + 0xd34]
mov esi, dword [edi + 0xd3c]
cdq
sub eax, edx
mov ebx, eax
mov eax, esi
sub esi, dword [edi + 0xd34]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [edi + 0xd38]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x284], eax
mov eax, dword [edi + 0xd40]
cdq
sar ebx, 1
sar ecx, 1
sub eax, edx
add esi, 1
sar eax, 1
sub ecx, ebx
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [edi + 0xd38]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x20], ecx
lea ecx, [ecx]
cmp esi, dword [edi + 0xd40]
jg 0x463be0
mov ecx, dword [edi + 0x84]
mov eax, dword [ebp - 0x28]
imul ecx, esi
add ecx, dword [edi + 0xd34]
mov edx, dword [ebp - 0x18]
add ecx, dword [edx]
push eax
push 0x23
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463bb0
mov esi, dword [ebp - 0x284]
cmp esi, dword [ebp - 0x27c]
jg 0x463c18
mov ecx, dword [edi + 0x84]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
shr ecx, 1
imul ecx, esi
add ecx, dword [edx + 4]
push eax
add ecx, ebx
push 0xd4
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463be6
mov esi, dword [ebp - 0x284]
mov edi, edi
cmp esi, dword [ebp - 0x27c]
jg 0x463e73
mov ecx, dword [edi + 0x84]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
shr ecx, 1
imul ecx, esi
add ecx, dword [edx + 8]
push eax
add ecx, ebx
push 0x72
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463c20
cmp eax, 0x120
ja 0x463d6a
cmp ecx, 0x2c0
ja 0x463d6a
cmp dword [edi + 0xd34], 0
jle 0x463e73
mov eax, dword [edi + 0xd34]
mov ecx, dword [edi + 0xd3c]
lea ebx, [eax + eax]
mov eax, dword [edi + 0xd38]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x264], eax
mov eax, dword [edi + 0xd40]
lea esi, [ecx + ecx]
sub ecx, dword [edi + 0xd34]
cdq
sub esi, ebx
sub eax, edx
add esi, 1
sar eax, 1
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [edi + 0xd38]
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x20], ecx
cmp esi, dword [edi + 0xd40]
jg 0x463cf1
mov ecx, dword [edi + 0x84]
mov edx, dword [ebp - 0x18]
imul ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, dword [edx]
push eax
add ecx, ebx
push 0x23
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463cc5
mov esi, dword [ebp - 0x264]
cmp esi, dword [ebp - 0x25c]
jg 0x463d2d
mov ecx, dword [edi + 0x84]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
shr ecx, 1
imul ecx, esi
add ecx, dword [edi + 0xd34]
push eax
add ecx, dword [edx + 4]
push 0xd4
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463cf7
mov esi, dword [ebp - 0x264]
cmp esi, dword [ebp - 0x25c]
jg 0x463e73
mov ecx, dword [edi + 0x84]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
shr ecx, 1
imul ecx, esi
add ecx, dword [edi + 0xd34]
push eax
add ecx, dword [edx + 8]
push 0x72
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463d33
cmp eax, 0x240
ja 0x463e73
cmp ecx, 0x2c0
ja 0x463e73
mov eax, dword [edi + 0xd34]
test eax, eax
jle 0x463e73
mov edx, dword [edi + 0xd38]
mov esi, dword [edi + 0xd40]
lea ebx, [eax + eax]
mov eax, dword [edi + 0xd3c]
lea ecx, [eax + eax]
sub eax, dword [edi + 0xd34]
sub ecx, ebx
add esi, esi
add edx, edx
add ecx, 1
add eax, 1
mov dword [ebp - 0x498], esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], eax
mov esi, edx
cmp esi, dword [ebp - 0x498]
jg 0x463df3
mov ecx, dword [edi + 0x84]
mov edx, dword [ebp - 0x18]
imul ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, dword [edx]
push eax
add ecx, ebx
push 0x23
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463dc7
mov esi, dword [edi + 0xd38]
lea esp, [esp]
cmp esi, dword [edi + 0xd40]
jg 0x463e36
mov ecx, dword [edi + 0x84]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
shr ecx, 1
imul ecx, esi
add ecx, dword [edi + 0xd34]
push eax
add ecx, dword [edx + 4]
push 0xd4
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463e00
mov esi, dword [edi + 0xd38]
lea esp, [esp]
cmp esi, dword [edi + 0xd40]
jg 0x463e73
mov ecx, dword [edi + 0x84]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
shr ecx, 1
imul ecx, esi
add ecx, dword [edi + 0xd34]
push eax
add ecx, dword [edx + 8]
push 0x72
push ecx
call fcn.004ea260
add esp, 0xc
add esi, 1
jmp 0x463e40
cmp byte [edi + 0x81c], 1
jne 0x464010
mov ecx, dword [ebp - 0x7c]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x464010
mov eax, dword [edi + 0xd1c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x3ac], 1
jne 0x463eb9
mov dword [ebp - 0x3a0], 4
jmp 0x463ed9
cmp eax, 1
jne 0x463eca
mov dword [ebp - 0x3a0], 0x14
jmp 0x463ed9
cmp eax, 2
jne 0x463ed9
mov dword [ebp - 0x3a0], 0x64
mov edx, dword [edi + 0xd28]
mov esi, dword [edi + 0xd20]
cmp edx, esi
jle 0x463fa1
mov eax, dword [edi + 0xd2c]
mov ecx, dword [edi + 0xd24]
cmp eax, ecx
jle 0x463fa1
mov ebx, dword [edi + 0x88]
cmp ebx, 0x120
ja 0x463f6a
cmp dword [edi + 0x84], 0x160
ja 0x463f38
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], eax
jmp 0x463fc5
cmp ebx, 0x120
ja 0x463f6a
cmp dword [edi + 0x84], 0x2c0
ja 0x463f6a
add esi, esi
add edx, edx
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], eax
jmp 0x463fc5
cmp ebx, 0x240
ja 0x463fc5
cmp dword [edi + 0x84], 0x2c0
ja 0x463fc5
add edx, edx
add esi, esi
mov dword [ebp - 0x398], edx
add ecx, ecx
lea edx, [eax + eax]
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], edx
jmp 0x463fc5
mov eax, dword [edi + 0x84]
mov ecx, dword [edi + 0x88]
mov dword [ebp - 0x39c], ebx
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], ebx
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x18]
push edx
lea eax, [ebp - 0x3c4]
push eax
call fcn.0048c310
mov ecx, dword [ebp - 0x3a4]
add esp, 8
cmp ecx, dword [ebp - 0x3a0]
jle 0x464010
cmp byte [edi + 0x81c], 0
je 0x463ff6
or dword [edi + 0x2b0], 0x20
cmp dword [edi + 0xd30], 1
jne 0x464010
or dword [edi + 0x2b0], 8
mov dword [ebp - 0x9c], 1
cmp dword [edi + 0x1b8], 1
jne 0x464031
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x18]
push edx
lea edi, [ebp - 0x47c]
call fcn.0048c160
mov edi, dword [ebp + 8]
add esp, 4
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x24], 0
je 0x464963
call fcn.004c5661
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x46405b
push 0x80004005
call fcn.00404150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
mov bl, 0xe
lea esi, [ebp - 0x3d8]
mov byte [ebp - 4], bl
call fcn.00405890
mov ecx, esi
push ecx
mov esi, str._y__m__d__H:_M:_S
lea edi, [ebp - 0x80]
call fcn.00405a10
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.00404e30
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x80]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4640b9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx - 0xc]
xor esi, esi
mov dword [ebp - 0x28], edx
xor eax, eax
cmp eax, dword [ebp - 0x28]
jge 0x464940
cmp eax, esi
jl 0x46386f
cmp eax, dword [ecx - 0xc]
jg 0x46386f
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0x88]
cmp edx, 0x240
mov cl, byte [eax + ecx]
jne 0x464254
cmp dword [edi + 0x84], 0x2c0
jne 0x464254
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x46411e.33
movzx ecx, byte [ecx + 0x465dec]
jmp dword [ecx*4 + 0x465db4]
mov dword [ebp - 0x48], 0x633e28
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x634128
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x6318a8
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x630768
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x631368
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x631068
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x633768
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x631f68
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x630be8
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x633a68
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x6332e8
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x630468
jmp case.0x46411e.33
mov dword [ebp - 0x48], 0x632e68
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx ebx, byte [esi + edx + 0x389a]
movzx ecx, byte [esi + edx + 0x38a9]
add ecx, ebx
movzx ebx, byte [esi + edx + 0xb9e9]
movzx edx, byte [esi + edx + 0xb9da]
add ecx, ebx
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x4641de
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4641f8
cmp ecx, 0x60
jge 0x4641f1
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4641f8
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x464933
xor ecx, ecx
jmp 0x464210
cmp ecx, 0x10
jge 0x46424f
mov ebx, dword [ebp - 0x48]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x46424a
mov bl, byte [ebp - 0x1c]
add edx, 0x14
imul edx, dword [edi + 0x84]
add edx, ecx
mov esi, eax
shl esi, 4
add esi, edx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
mov byte [esi + edx + 0x19a], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x464210
add edx, 1
jmp 0x4641fd
cmp edx, 0x120
jne 0x46451c
cmp dword [edi + 0x84], 0x2c0
jne 0x4643bf
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464286.33
movzx ecx, byte [ecx + 0x465e40]
jmp dword [ecx*4 + 0x465e08]
mov dword [ebp - 0x4c], 0x632ce8
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x632928
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x6335e8
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x6327a8
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x632b68
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x6323e8
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x6302e8
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x631c68
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x632268
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x631728
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x633168
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x632628
jmp case.0x464286.33
mov dword [ebp - 0x4c], 0x630a68
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx]
lea esi, [eax + eax*2 + 0x840]
lea esi, [ecx + esi*4]
lea edx, [eax + eax*2]
lea edx, [ecx + edx*4 + 0xa240]
movzx ecx, byte [esi + 0x1d3]
movzx esi, byte [esi + 0x1cc]
add ecx, esi
movzx esi, byte [edx + 0x1d3]
movzx edx, byte [edx + 0x1cc]
add ecx, esi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x464351
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46436b
cmp ecx, 0x60
jge 0x464364
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46436b
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x464933
xor ecx, ecx
mov edi, edi
cmp ecx, 8
jge 0x4643ba
mov ebx, dword [ebp - 0x4c]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x4643b5
mov bl, byte [ebp - 0x1c]
add edx, 0xc
imul edx, dword [edi + 0x84]
lea esi, [eax + eax*2]
add edx, ecx
lea edx, [edx + esi*4]
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
mov byte [edx + esi + 0x1cc], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x464380
add edx, 1
jmp 0x464370
cmp edx, 0x120
jne 0x46451c
cmp dword [edi + 0x84], 0x160
jne 0x46451c
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x4643f1.33
movzx ecx, byte [ecx + 0x465e94]
jmp dword [ecx*4 + 0x465e5c]
mov dword [ebp - 0x50], 0x632568
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x6345a8
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x632aa8
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x630fa8
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x631668
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x6344e8
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x631ea8
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x630228
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x633d68
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x631de8
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x631ba8
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x634428
jmp case.0x4643f1.33
mov dword [ebp - 0x50], 0x630ee8
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
movzx ebx, byte [edx + eax*8 + 0x7ad]
movzx ecx, byte [edx + eax*8 + 0x7b4]
add ecx, ebx
movzx ebx, byte [edx + eax*8 + 0x2754]
movzx edx, byte [edx + eax*8 + 0x274d]
add ecx, ebx
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x4644ad
mov dword [ebp - 0x1c], esi
mov dword [edi + eax*4 + 0x828], esi
jmp 0x4644ca
cmp ecx, 0x60
jge 0x4644c0
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4644c7
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x18
mov dword [ebp - 0x20], edx
jge 0x464933
xor ecx, ecx
lea ebx, [ebx]
cmp ecx, 8
jge 0x464517
mov ebx, dword [ebp - 0x50]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x464512
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
mov bl, byte [ebp - 0x1c]
add edx, 5
imul edx, dword [edi + 0x84]
add edx, ecx
lea edx, [edx + eax*8]
mov byte [edx + esi + 0xcd], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x4644e0
add edx, 1
jmp 0x4644cc
cmp edx, 0x1e0
jne 0x464684
cmp dword [edi + 0x84], 0x280
jne 0x464684
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x46454e.33
movzx ecx, byte [ecx + 0x465ee8]
jmp dword [ecx*4 + 0x465eb0]
mov dword [ebp - 0x3c], 0x633e28
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x634128
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x6318a8
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x630768
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x631368
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x631068
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x633768
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x631f68
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x630be8
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x633a68
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x6332e8
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x630468
jmp case.0x46454e.33
mov dword [ebp - 0x3c], 0x632e68
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx ebx, byte [esi + edx + 0x3354]
movzx ecx, byte [esi + edx + 0x3363]
add ecx, ebx
movzx ebx, byte [esi + edx + 0xa8e3]
movzx edx, byte [esi + edx + 0xa8d4]
add ecx, ebx
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x46460e
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464628
cmp ecx, 0x60
jge 0x464621
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464628
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x464933
xor ecx, ecx
jmp 0x464640
cmp ecx, 0x10
jge 0x46467f
mov ebx, dword [ebp - 0x3c]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x46467a
mov bl, byte [ebp - 0x1c]
add edx, 0x14
imul edx, dword [edi + 0x84]
add edx, ecx
mov esi, eax
shl esi, 4
add esi, edx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
mov byte [esi + edx + 0x154], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x464640
add edx, 1
jmp 0x46462d
cmp edx, 0xf0
jne 0x464933
cmp dword [edi + 0x84], 0x280
jne 0x4647e4
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x4646b6.33
movzx ecx, byte [ecx + 0x465f3c]
jmp dword [ecx*4 + 0x465f04]
mov dword [ebp - 0x40], 0x632ce8
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x632928
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x6335e8
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x6327a8
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x632b68
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x6323e8
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x6302e8
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x631c68
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x632268
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x631728
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x633168
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x632628
jmp case.0x4646b6.33
mov dword [ebp - 0x40], 0x630a68
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx]
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
movzx ebx, byte [esi + edx + 0x1a90]
movzx ecx, byte [esi + edx + 0x1a97]
add ecx, ebx
movzx ebx, byte [esi + edx + 0x9017]
movzx edx, byte [esi + edx + 0x9010]
add ecx, ebx
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x464778
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464792
cmp ecx, 0x60
jge 0x46478b
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464792
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x464933
xor ecx, ecx
cmp ecx, 8
jge 0x4647df
mov ebx, dword [ebp - 0x40]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x4647da
mov bl, byte [ebp - 0x1c]
add edx, 0xa
imul edx, dword [edi + 0x84]
lea esi, [eax + eax*2]
add edx, ecx
lea edx, [edx + esi*4]
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
mov byte [edx + esi + 0x190], bl
mov edx, dword [ebp - 0x20]
add ecx, 1
jmp 0x4647a5
add edx, 1
jmp 0x464797
cmp edx, 0xf0
jne 0x464933
cmp dword [edi + 0x84], 0x140
jne 0x464933
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464816.33
movzx ecx, byte [ecx + 0x465f90]
jmp dword [ecx*4 + 0x465f58]
mov dword [ebp - 0x38], 0x632568
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x6345a8
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x632aa8
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x630fa8
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x631668
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x6344e8
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x631ea8
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x630228
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x633d68
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x631de8
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x631ba8
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x634428
jmp case.0x464816.33
mov dword [ebp - 0x38], 0x630ee8
mov edx, dword [ebp - 0x18]
mov edx, dword [edx]
movzx esi, byte [edx + eax*8 + 0x6ef]
movzx ecx, byte [edx + eax*8 + 0x6f6]
add ecx, esi
movzx esi, byte [edx + eax*8 + 0x23b6]
movzx edx, byte [edx + eax*8 + 0x23af]
add ecx, esi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x4648d1
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4648eb
cmp ecx, 0x60
jge 0x4648e4
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x4648eb
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor esi, esi
cmp esi, 0x18
jge 0x464933
xor ecx, ecx
cmp ecx, 8
jge 0x46492e
mov ebx, dword [ebp - 0x38]
lea edx, [ecx + esi*8]
cmp byte [edx + ebx], 0
je 0x464929
mov bl, byte [ebp - 0x1c]
lea edx, [esi + 5]
imul edx, dword [edi + 0x84]
mov edi, dword [ebp - 0x18]
mov edi, dword [edi]
add edx, ecx
lea edx, [edx + eax*8]
mov byte [edx + edi + 0xaf], bl
mov edi, dword [ebp + 8]
add ecx, 1
jmp 0x4648f7
add esi, 1
jmp 0x4648f0
mov ecx, dword [ebp - 0x2c]
add eax, 1
xor esi, esi
jmp 0x4640c6
lea eax, [ecx - 0x10]
mov byte [ebp - 4], 6
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464960
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp + 8]
mov ecx, dword [ebp - 0x90]
cmp dword [ecx + 0x28], 0
mov edx, dword [ebp - 0x18]
je 0x464b9f
mov ecx, dword [edi + 0x88]
cmp ecx, 0x120
jbe 0x464a46
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x464a3a
mov ecx, dword [edx]
mov esi, eax
imul esi, esi, 0x43
movzx ebx, byte [esi + ecx + 0x173]
lea eax, [eax + eax*4]
add esi, ecx
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x173]
movzx ecx, byte [ecx + 0x14]
add eax, ebx
add eax, ecx
movzx ecx, byte [esi + 0x14]
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x4649d9
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x4649f1
cmp eax, 0x60
jge 0x4649eb
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x4649f1
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x30
jge 0x464b9f
xor eax, eax
mov edi, edi
cmp eax, 0x160
jge 0x464a35
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x3ae0], 0
je 0x464a30
mov edx, dword [edx]
lea esi, [ecx + 0x14]
imul esi, dword [edi + 0x84]
add esi, eax
mov byte [esi + edx + 0x14], bl
mov edx, dword [ebp - 0x18]
add eax, 1
jmp 0x464a00
add ecx, 1
jmp 0x4649f3
cmp ecx, 0x120
ja 0x464afa
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x464afa
mov ecx, dword [edx]
mov esi, eax
imul esi, esi, 0x23
movzx ebx, byte [esi + ecx + 0x16e]
lea eax, [eax + eax*2]
add esi, ecx
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x16e]
movzx ecx, byte [ecx + 0xf]
add eax, ebx
add eax, ecx
movzx ecx, byte [esi + 0xf]
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x464a97
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x464aaf
cmp eax, 0x60
jge 0x464aa9
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x464aaf
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x464b9f
xor eax, eax
lea esp, [esp]
cmp eax, 0x160
jge 0x464af5
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x19e0], 0
je 0x464af0
mov edx, dword [edx]
lea esi, [ecx + 0xc]
imul esi, dword [edi + 0x84]
add esi, eax
mov byte [esi + edx + 0xf], bl
mov edx, dword [ebp - 0x18]
add eax, 1
jmp 0x464ac0
add ecx, 1
jmp 0x464ab1
mov ecx, dword [edi + 0x84]
mov esi, dword [edx]
lea eax, [ecx*8]
sub eax, ecx
lea ebx, [esi + eax*4]
lea eax, [esi + ecx*4 + 8]
movzx eax, byte [ecx + eax + 2]
lea esi, [esi + ecx*4]
movzx ecx, byte [ecx + esi + 0x89]
add eax, ecx
movzx ecx, byte [ebx + 0x89]
add eax, ecx
movzx ecx, byte [ebx + 0xa]
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x464b47
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x464b5f
cmp eax, 0x60
jge 0x464b59
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x464b5f
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x464b9f
xor eax, eax
cmp eax, 0x80
jge 0x464b9a
mov esi, ecx
shl esi, 7
add esi, eax
cmp byte [esi + edi + 0xde0], 0
je 0x464b95
mov edx, dword [edx]
lea esi, [ecx + 5]
imul esi, dword [edi + 0x84]
add esi, eax
mov byte [esi + edx + 0xa], bl
mov edx, dword [ebp - 0x18]
add eax, 1
jmp 0x464b68
add ecx, 1
jmp 0x464b61
cmp dword [edi + 0x194], 0
je 0x464bbb
mov ebx, dword [ebp - 0x84]
lea eax, [edi + 0xa8]
push eax
push edx
call fcn.0046e3d0
shr dword [edi + 0x84], 1
cmp dword [edi + 0x7d2c], 0
jg 0x464bdc
cmp byte [edi + 0x2a8], 0
jne 0x464bdc
cmp byte [edi + 0x2a9], 0
je 0x464c16
cmp byte [ebp - 0x21], 0
mov ecx, dword [ebp - 0x78]
je 0x464c13
mov edx, dword [ebp - 0x170]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x174]
push edx
mov edx, dword [ebp - 0x198]
push ecx
push eax
push edx
call dword [0x668a1c]
add esp, 0x10
emms
lea eax, [ebp - 0x198]
mov dword [ebp - 0x68], eax
jmp 0x464c16
mov dword [ebp - 0x68], ecx
cmp byte [edi + 0x7d78], 0
jne 0x46509d
cmp dword [edi + 0x7d2c], 0
jg 0x464c4d
cmp byte [edi + 0x2a8], 0
jne 0x464c4d
cmp byte [edi + 0x2a9], 0
jne 0x464c4d
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
jmp 0x46568b
mov eax, dword [ebp - 0x7c]
cmp eax, 1
jbe 0x46568b
mov ecx, dword [edi + 0x7ce4]
cmp ecx, 0xa
jb 0x464c69
mov ecx, 9
xor edx, edx
div dword [ecx*8 + 0x61a5b0]
cmp dword [ecx*8 + 0x61a5b4], 0
je 0x464c83
test edx, edx
setne al
jmp 0x464c88
test edx, edx
sete al
test al, al
je 0x46568b
cmp dword [edi + 0xdcc], 0
mov ebx, dword [ebp - 0x74]
je 0x464caf
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov dword [edi + 0xdcc], 0
mov eax, dword [edi + 0x1c4]
mov ecx, dword [ebp - 0xac]
mov esi, dword [ebp - 0x34]
mov edx, dword [ebx]
mov edx, dword [edx + 8]
push eax
mov eax, dword [ebp - 0x68]
push ecx
add esi, 0xe
push esi
push eax
mov ecx, ebx
call edx
mov ebx, dword [ebx + 4]
test ebx, ebx
mov dword [ebp - 0x20], eax
jne 0x464ce9
mov cl, byte [esi + 4]
and cl, 0xc0
cmp cl, 0xc0
sete cl
jmp 0x464d2f
cmp ebx, 1
jne 0x464d2d
cmp byte [esi], 0xa0
jne 0x464d18
cmp byte [esi + 1], 0x10
jne 0x464d18
cmp byte [esi + 2], 0
jne 0x464d18
cmp byte [esi + 3], 0
jne 0x464d18
cmp byte [esi + 7], bl
jne 0x464d2d
mov dl, byte [esi + 8]
and dl, 0x1f
cmp dl, bl
je 0x464d2d
mov cl, bl
jmp 0x464d2f
cmp byte [esi + 3], 1
jne 0x464d2d
mov cl, byte [esi + 4]
and cl, 0x1f
cmp cl, 1
je 0x464d2d
mov cl, 1
jmp 0x464d2f
xor cl, cl
test eax, eax
movzx edx, cl
mov dword [ebp - 0x70], edx
jle 0x46568b
cmp byte [edi + 0x2a8], 0
je 0x464df5
cmp dword [edi + 0x7d24], 0
je 0x464d9e
lea ebx, [edi + 0x7d0c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x98]
push 1
push eax
mov eax, dword [edi + 0x7d24]
push ecx
mov ecx, dword [ebp - 0x34]
call fcn.0047c530
mov edx, dword [edi + 0x7d24]
add esp, 0xc
cmp dword [edx + 0x303c], 0
jne 0x464d97
mov esi, edi
call fcn.00446090
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [edi + 0x7d24]
add dword [ebp - 0xa4], 1
cmp dword [eax + 0x1c], 0x36ee80
ja 0x464dee
cmp dword [eax + 0x3034], 0x400
jae 0x464dee
lea eax, [ebp - 0x4c8]
push 0x637a44
push eax
call fcn.004e44dc
mov ecx, dword [edi + 0x7d24]
movzx edx, byte [ecx + 0x27]
add esp, 8
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x4bc]
cmp eax, edx
je 0x464df5
or dword [edi + 0x2b0], 0x50
cmp byte [edi + 0x2a9], 0
je 0x464eeb
cmp dword [edi + 0x7d28], 0
je 0x464e56
lea ebx, [edi + 0x7d0c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x98]
push 1
push eax
mov eax, dword [edi + 0x7d28]
push ecx
mov ecx, dword [ebp - 0x34]
call fcn.0047c530
mov edx, dword [edi + 0x7d28]
add esp, 0xc
cmp dword [edx + 0x303c], 0
jne 0x464e4f
mov esi, edi
call fcn.00446090
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x94]
add eax, 1
test eax, eax
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
mov dword [ebp - 0x94], eax
jge 0x464e75
fadd dword [0x600530]
fild dword [edi + 0xd18]
fmul dword [edi + 0x78]
fcompp
fnstsw ax
test ah, 0x41
jp 0x464e91
or dword [edi + 0x2b0], 0x80
mov eax, dword [edi + 0x7d24]
add dword [ebp - 0xb0], 1
cmp dword [eax + 0x1c], 0x36ee80
ja 0x464ee1
cmp dword [eax + 0x3034], 0x400
jae 0x464ee1
lea eax, [ebp - 0x510]
push 0x637a44
push eax
call fcn.004e44dc
mov ecx, dword [edi + 0x7d24]
movzx edx, byte [ecx + 0x27]
add esp, 8
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x504]
cmp eax, edx
je 0x464eeb
or dword [edi + 0x2b0], 0x80
mov eax, dword [edi + 0x7d2c]
test eax, eax
jle 0x46568b
xor ebx, ebx
mov dword [ebp - 0x2c], eax
cmp ebx, 0x80
mov dword [ebp - 0x1c], ebx
jge 0x46568b
cmp dword [ebp - 0x2c], 0
jle 0x46568b
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + ebx*4 + 0xe8]
test eax, eax
je 0x465070
mov ecx, dword [eax + 0x24]
cmp ecx, dword [edi + 0x15c]
jne 0x465070
mov edx, dword [eax + 0x28]
cmp edx, dword [edi + 0x160]
jne 0x465070
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [edi + 0x164]
jne 0x465070
sub dword [ebp - 0x2c], 1
cmp dword [ebp - 0x70], 0
mov esi, dword [eax + 0x14]
lea ecx, [eax + 0x14]
je 0x465078
cmp esi, 0x19
jl 0x464f9c
mov edx, 0xa
sub edx, esi
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + ebx*4 + 0xe8]
mov eax, dword [ecx + 0xc]
sub eax, esi
add eax, 0x32
xor edx, edx
mov esi, 0x28
div esi
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + ebx*4 + 0xe8]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x28], edx
mov ebx, dword [ebp - 0x6c]
mov dword [eax + 0x1c], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + eax*4 + 0xe8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x493e0
lea esi, [edx + ecx + 0x30]
mov ecx, dword [ebp - 0x20]
mov byte [esi + 4], 6
lea edx, [ecx + 0x12]
mov dword [esi], edx
mov edx, dword [ebx + eax*4 + 0xe8]
movzx edx, byte [edx + 0x24]
mov byte [esi + 5], dl
mov edx, dword [ebx + eax*4 + 0xe8]
movzx edx, byte [edx + 0x28]
mov byte [esi + 6], dl
mov eax, dword [ebx + eax*4 + 0xe8]
movzx edx, byte [eax + 0x2c]
mov eax, dword [ebp - 0x34]
push ecx
add eax, 0xe
push eax
lea ecx, [esi + 0x12]
push ecx
mov byte [esi + 7], dl
call fcn.004f05f0
mov al, byte [ebp - 0x28]
movzx edx, byte [esi + 9]
mov ecx, dword [ebp - 0x1c]
and al, 1
add al, al
add al, al
add al, al
and dl, 0x10
or al, dl
or al, 1
mov byte [esi + 9], al
mov eax, dword [ebp - 0x98]
mov dword [esi + 0xa], eax
mov eax, dword [ebx + ecx*4 + 0xe8]
mov eax, dword [eax + 0xc]
add eax, 1
xor edx, edx
mov esi, 0x28
div esi
mov eax, dword [ebx + ecx*4 + 0xe8]
add esp, 0xc
mov dword [eax + 0xc], edx
mov ecx, dword [ebx + ecx*4 + 0xe8]
add ecx, 0x14
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ebx, dword [ebp - 0x1c]
add ebx, 1
jmp 0x464efe
cmp dword [eax + 0x1c], 0
je 0x465070
cmp esi, 0x28
jge 0x46508e
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x28], ecx
jmp 0x464fac
mov dword [eax + 0x1c], 0
add ebx, 1
jmp 0x464efe
cmp dword [edi + 0x7d2c], 0
jle 0x4653c2
mov eax, dword [ebp - 0x7c]
cmp eax, 1
jbe 0x4653cf
mov ecx, dword [edi + 0x98]
cmp ecx, 0xa
jb 0x4650c6
mov ecx, 9
xor edx, edx
div dword [ecx*8 + 0x61a5b0]
cmp dword [ecx*8 + 0x61a5b4], 0
je 0x4650e0
test edx, edx
setne al
jmp 0x4650e5
test edx, edx
sete al
test al, al
je 0x4653cf
mov al, byte [ebp - 0x2e]
cmp al, 3
mov edx, dword [ebp - 0x68]
jne 0x46511c
mov eax, dword [edi + 0x94]
mov ecx, dword [edi + 0x90]
mov edx, dword [edx]
push eax
mov eax, dword [ebp - 0x1c4]
push ecx
push edx
push eax
call dword [0x6689fc]
add esp, 0x10
emms
jmp 0x46515e
cmp al, 1
jne 0x465145
mov eax, dword [edi + 0x94]
mov ecx, dword [edi + 0x90]
mov edx, dword [edx]
push eax
mov eax, dword [ebp - 0x1c4]
push ecx
push edx
push eax
call dword [0x668a1c]
add esp, 0x10
emms
jmp 0x46515e
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edx]
push ecx
mov ecx, dword [ebp - 0x1c4]
push eax
push ecx
call fcn.004f05f0
add esp, 0xc
cmp byte [edi + 0xdd0], 0
mov ebx, dword [ebp - 0xa0]
je 0x46517d
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov byte [edi + 0xdd0], 0
mov eax, dword [edi + 0x1c4]
mov ecx, dword [ebp - 0xac]
mov esi, dword [ebp - 0x34]
mov edx, dword [ebx]
mov edx, dword [edx + 8]
push eax
push ecx
add esi, 0xe
push esi
lea eax, [ebp - 0x1c4]
push eax
mov ecx, ebx
call edx
mov ebx, dword [ebx + 4]
test ebx, ebx
mov dword [ebp - 0x70], eax
jne 0x4651ba
mov cl, byte [esi + 4]
and cl, 0xc0
cmp cl, 0xc0
sete cl
jmp 0x465200
cmp ebx, 1
jne 0x4651fe
cmp byte [esi], 0xa0
jne 0x4651e9
cmp byte [esi + 1], 0x10
jne 0x4651e9
cmp byte [esi + 2], 0
jne 0x4651e9
cmp byte [esi + 3], 0
jne 0x4651e9
cmp byte [esi + 7], bl
jne 0x4651fe
mov dl, byte [esi + 8]
and dl, 0x1f
cmp dl, bl
je 0x4651fe
mov cl, bl
jmp 0x465200
cmp byte [esi + 3], 1
jne 0x4651fe
mov cl, byte [esi + 4]
and cl, 0x1f
cmp cl, 1
je 0x4651fe
mov cl, 1
jmp 0x465200
xor cl, cl
test eax, eax
movzx edx, cl
mov dword [ebp - 0x20], edx
jle 0x4653cf
mov eax, dword [edi + 0x7d2c]
test eax, eax
jle 0x4653cf
xor ebx, ebx
mov edx, eax
cmp ebx, 0x80
mov dword [ebp - 0x1c], ebx
jge 0x4653cf
test edx, edx
jle 0x4653cf
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + ebx*4 + 0xe8]
test eax, eax
je 0x465395
mov ecx, dword [eax + 0x24]
cmp ecx, dword [edi + 0x15c]
jne 0x465395
mov ecx, dword [eax + 0x28]
cmp ecx, dword [edi + 0x160]
jne 0x465395
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [edi + 0x164]
jne 0x465395
mov esi, dword [eax + 0x14]
sub edx, 1
cmp dword [ebp - 0x20], 0
lea ecx, [eax + 0x14]
mov dword [ebp - 0x2c], edx
je 0x46539d
cmp esi, 0x19
jl 0x4652be
mov edx, 0xa
sub edx, esi
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + ebx*4 + 0xe8]
mov eax, dword [ecx + 0xc]
sub eax, esi
add eax, 0x32
xor edx, edx
mov esi, 0x28
div esi
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + ebx*4 + 0xe8]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x28], edx
mov ebx, dword [ebp - 0x6c]
mov dword [eax + 0x1c], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebx + eax*4 + 0xe8]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x493e0
lea esi, [edx + ecx + 0x30]
mov ecx, dword [ebp - 0x70]
mov byte [esi + 4], 6
lea edx, [ecx + 0x12]
mov dword [esi], edx
mov edx, dword [ebx + eax*4 + 0xe8]
movzx edx, byte [edx + 0x24]
mov byte [esi + 5], dl
mov edx, dword [ebx + eax*4 + 0xe8]
movzx edx, byte [edx + 0x28]
mov byte [esi + 6], dl
mov eax, dword [ebx + eax*4 + 0xe8]
movzx edx, byte [eax + 0x2c]
mov eax, dword [ebp - 0x34]
push ecx
add eax, 0xe
push eax
lea ecx, [esi + 0x12]
push ecx
mov byte [esi + 7], dl
call fcn.004f05f0
mov al, byte [ebp - 0x28]
movzx edx, byte [esi + 9]
mov ecx, dword [ebp - 0x1c]
and al, 1
add al, al
add al, al
add al, al
and dl, 0x10
or al, dl
or al, 1
mov byte [esi + 9], al
mov eax, dword [ebp - 0x98]
mov dword [esi + 0xa], eax
mov eax, dword [ebx + ecx*4 + 0xe8]
mov eax, dword [eax + 0xc]
add eax, 1
xor edx, edx
mov esi, 0x28
div esi
mov eax, dword [ebx + ecx*4 + 0xe8]
add esp, 0xc
mov dword [eax + 0xc], edx
mov ecx, dword [ebx + ecx*4 + 0xe8]
add ecx, 0x14
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x1c]
add ebx, 1
jmp 0x465220
cmp dword [eax + 0x1c], 0
je 0x465395
cmp esi, 0x28
jge 0x4653b3
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x28], ecx
jmp 0x4652ce
mov dword [eax + 0x1c], 0
add ebx, 1
jmp 0x465220
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
cmp byte [edi + 0x2a8], 0
jne 0x4653f0
cmp byte [edi + 0x2a9], 0
jne 0x4653f0
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
jmp 0x46568b
mov eax, dword [ebp - 0x7c]
cmp eax, 1
jbe 0x46568b
mov ecx, dword [edi + 0x7ce4]
cmp ecx, 0xa
jb 0x46540c
mov ecx, 9
xor edx, edx
div dword [ecx*8 + 0x61a5b0]
cmp dword [ecx*8 + 0x61a5b4], 0
je 0x465426
test edx, edx
setne al
jmp 0x46542b
test edx, edx
sete al
test al, al
je 0x46568b
cmp dword [edi + 0xdcc], 0
mov ebx, dword [ebp - 0x74]
je 0x465452
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov ecx, ebx
call eax
mov dword [edi + 0xdcc], 0
mov eax, dword [edi + 0x1c4]
mov ecx, dword [ebp - 0xac]
mov esi, dword [ebp - 0x34]
mov edx, dword [ebx]
mov edx, dword [edx + 8]
push eax
mov eax, dword [ebp - 0x68]
push ecx
add esi, 0xe
push esi
push eax
mov ecx, ebx
call edx
mov ebx, dword [ebx + 4]
test ebx, ebx
mov dword [ebp - 0x28], eax
jne 0x46548c
mov cl, byte [esi + 4]
and cl, 0xc0
cmp cl, 0xc0
sete cl
jmp 0x4654d2
cmp ebx, 1
jne 0x4654d0
cmp byte [esi], 0xa0
jne 0x4654bb
cmp byte [esi + 1], 0x10
jne 0x4654bb
cmp byte [esi + 2], 0
jne 0x4654bb
cmp byte [esi + 3], 0
jne 0x4654bb
cmp byte [esi + 7], bl
jne 0x4654d0
mov dl, byte [esi + 8]
and dl, 0x1f
cmp dl, bl
je 0x4654d0
mov cl, bl
jmp 0x4654d2
cmp byte [esi + 3], 1
jne 0x4654d0
mov cl, byte [esi + 4]
and cl, 0x1f
cmp cl, 1
je 0x4654d0
mov cl, 1
jmp 0x4654d2
xor cl, cl
test eax, eax
movzx esi, cl
mov dword [ebp - 0x20], esi
jle 0x46568b
cmp byte [edi + 0x2a8], 0
je 0x465595
cmp dword [edi + 0x7d24], 0
je 0x46553e
lea ebx, [edi + 0x7d0c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x28]
mov eax, dword [edi + 0x7d24]
mov ecx, dword [ebp - 0x34]
push 1
push esi
push edx
mov edx, dword [ebp - 0x98]
call fcn.0047c530
mov eax, dword [edi + 0x7d24]
add esp, 0xc
cmp dword [eax + 0x303c], 0
jne 0x465537
mov esi, edi
call fcn.00446090
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [edi + 0x7d24]
add dword [ebp - 0xa4], 1
cmp dword [eax + 0x1c], 0x36ee80
ja 0x46558e
cmp dword [eax + 0x3034], 0x400
jae 0x46558e
lea ecx, [ebp - 0x4ec]
push 0x637a44
push ecx
call fcn.004e44dc
mov edx, dword [edi + 0x7d24]
movzx ecx, byte [edx + 0x27]
add esp, 8
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x4e0]
cmp eax, ecx
je 0x465595
or dword [edi + 0x2b0], 0x50
cmp byte [edi + 0x2a9], 0
je 0x46568b
cmp dword [edi + 0x7d28], 0
je 0x4655f6
lea ebx, [edi + 0x7d0c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
push 1
push edx
mov edx, dword [ebp - 0x98]
push eax
mov eax, dword [edi + 0x7d28]
call fcn.0047c530
mov ecx, dword [edi + 0x7d28]
add esp, 0xc
cmp dword [ecx + 0x303c], 0
jne 0x4655ef
mov esi, edi
call fcn.00446090
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x94]
add eax, 1
test eax, eax
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
mov dword [ebp - 0x94], eax
jge 0x465615
fadd dword [0x600530]
fild dword [edi + 0xd18]
fmul dword [edi + 0x78]
fcompp
fnstsw ax
test ah, 0x41
jp 0x465631
or dword [edi + 0x2b0], 0x80
mov eax, dword [edi + 0x7d24]
add dword [ebp - 0xb0], 1
cmp dword [eax + 0x1c], 0x36ee80
ja 0x465681
cmp dword [eax + 0x3034], 0x400
jae 0x465681
lea edx, [ebp - 0x534]
push 0x637a44
push edx
call fcn.004e44dc
mov ecx, dword [edi + 0x7d24]
movzx edx, byte [ecx + 0x27]
add esp, 8
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 0x528]
cmp eax, edx
je 0x46568b
or dword [edi + 0x2b0], 0x80
cmp dword [edi + 0x7d30], 0
mov ebx, dword [ebp - 0xc4]
jle 0x465883
mov ecx, dword [ebp - 0xec]
mov eax, ebx
sub eax, ecx
cmp ebx, ecx
jae 0x4656b1
add eax, 0x5265c00
cmp eax, 0x78
jbe 0x465883
cmp byte [ebp - 0x21], 0
mov dword [ebp - 0xec], ebx
je 0x4656ee
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
push ecx
push edx
push eax
mov eax, dword [ebp - 0x154]
push eax
call dword [0x668a20]
add esp, 0x10
emms
jmp 0x465714
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x12c]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x154]
push ecx
push eax
push edx
call dword [0x668a30]
add esp, 0x10
emms
mov edx, dword [ebp - 0xac]
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
push 0
push edx
lea edx, [esi + 0x18]
push edx
lea edx, [ebp - 0x154]
push edx
call eax
xor ecx, ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov dword [ebp - 0x20], eax
add eax, 0x14
mov dword [esi], eax
mov cx, word [ebp - 0x130]
mov word [esi + 4], cx
mov dx, word [ebp - 0x12c]
mov word [esi + 6], dx
mov eax, dword [edi + 0x7d30]
xor ecx, ecx
mov dword [ebp - 0x2c], eax
cmp ecx, 4
mov dword [ebp - 0x1c], ecx
jge 0x465883
cmp dword [ebp - 0x2c], 0
jle 0x465883
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + ecx*4 + 0x520]
test eax, eax
je 0x46587b
mov edx, dword [eax + 0xc]
cmp edx, dword [edi + 0x15c]
jne 0x46587b
mov edx, dword [eax + 0x10]
cmp edx, dword [edi + 0x160]
jne 0x46587b
mov edx, dword [eax + 0x14]
cmp edx, dword [edi + 0x164]
jne 0x46587b
mov ecx, dword [eax + 0x206c]
mov esi, dword [ebp - 0x20]
imul ecx, ecx, 0x493e0
sub dword [ebp - 0x2c], 1
push str.Close
add esi, 0x18
push esi
push 0x5fbc34
push 0xc8
lea eax, [ecx + eax + 0x2078]
push 0x5f4610
mov dword [ebp - 0x28], eax
add eax, 4
push 0x493e0
push eax
call fcn.004e68c0
add esp, 0x1c
test esi, esi
mov ebx, eax
je 0x46583a
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
add eax, 4
push esi
add eax, ebx
push edx
push eax
mov dword [ebp - 0x70], eax
call fcn.004f05f0
mov eax, dword [ebp - 0x70]
add esp, 0xc
mov dword [eax + esi], 0xa0d0a0d
lea ebx, [ebx + esi + 4]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x6c]
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [edx + ecx*4 + 0x520]
mov esi, dword [eax + 0x206c]
add esi, 1
and esi, 7
mov dword [eax + 0x206c], esi
mov edx, dword [edx + ecx*4 + 0x520]
add edx, 0x2074
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0xc4]
add ecx, 1
jmp 0x465772
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x98], ebx
jmp 0x461fd0
cmp byte [ebp - 0x21], 0
je 0x4658c6
mov edx, dword [edi + 0xd14]
push 0
push edx
call dword [sym.imp.exp.dll_void___cdecl_JMVSDK_Cif2Halfd1_int__bool_]
add esp, 8
mov eax, dword [edi + 0xd14]
push eax
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_CancelGetAudio_int_]
mov ecx, dword [edi + 0x7cec]
add esp, 4
push 0xffffffffffffffff
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, dword [edi + 0x7cec]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, edi
mov dword [edi + 0x7cec], 0
call fcn.0045fe10
mov eax, dword [edi + 0xd14]
push eax
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_StopChannel_int_]
mov ecx, dword [edi + 0xd14]
add esp, 4
push ecx
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_CloseChannel_int_]
add esp, 4
push 0x2c
xor ebx, ebx
lea edx, [edi + 0xcd8]
push ebx
push edx
call fcn.004ea260
mov eax, dword [ebp - 0x2e4]
add esp, 0xc
cmp eax, ebx
je 0x465950
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e378f
add esp, 4
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x465969
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e378f
add esp, 4
lea eax, [ebp - 0x42c]
call fcn.0048c2d0
mov eax, dword [ebp - 0x3b4]
cmp eax, ebx
je 0x46598d
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e378f
add esp, 4
lea eax, [ebp - 0x47c]
call fcn.0048c2d0
mov esi, dword [edi + 0x7d24]
cmp esi, ebx
mov byte [edi + 0x2a8], bl
mov byte [edi + 0x2a9], bl
je 0x4659cf
call fcn.0047c4d0
mov eax, dword [edi + 0x7d24]
push eax
call fcn.004c4986
add esp, 4
mov esi, edi
mov dword [edi + 0x7d24], ebx
call fcn.00446090
mov esi, dword [edi + 0x7d28]
cmp esi, ebx
je 0x4659fa
call fcn.0047c4d0
mov eax, dword [edi + 0x7d28]
push eax
call fcn.004c4986
add esp, 4
mov esi, edi
mov dword [edi + 0x7d28], ebx
call fcn.00446090
mov ecx, dword [ebp - 0x74]
cmp ecx, ebx
je 0x465a09
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [ebp - 0xa0]
cmp ecx, ebx
je 0x465a1b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [ebp - 0x1c4]
cmp eax, ebx
je 0x465a34
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e378f
add esp, 4
mov ecx, dword [ebp - 0xc8]
cmp ecx, ebx
je 0x465a46
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [ebp - 0xe4]
cmp ecx, ebx
je 0x465a58
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [ebp - 0x21c]
cmp eax, ebx
je 0x465a71
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e378f
add esp, 4
mov eax, dword [ebp - 0x248]
cmp eax, ebx
je 0x465a8a
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e378f
add esp, 4
mov eax, dword [edi + 0xcac]
cmp eax, ebx
je 0x465aa3
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e378f
add esp, 4
mov eax, dword [ebp - 0x154]
cmp eax, ebx
je 0x465abc
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e378f
add esp, 4
mov eax, dword [ebp - 0x2e0]
cmp eax, ebx
je 0x465ad5
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e378f
add esp, 4
mov eax, dword [ebp - 0x2b4]
cmp eax, ebx
je 0x465aee
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e378f
add esp, 4
mov eax, dword [ebp - 0x198]
cmp eax, ebx
je 0x465b07
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e378f
add esp, 4
mov edx, dword [ebp - 0x34]
push edx
call fcn.004c4986
mov eax, dword [ebp - 0x84]
add esp, 4
cmp eax, ebx
je 0x465b2a
lea ecx, [edi + 0xa8]
push ecx
push eax
call fcn.0046e120
cmp dword [edi + 0x88], 0x120
ja 0x465b5b
cmp dword [edi + 0x84], 0x160
jbe 0x465b5b
mov eax, dword [ebp - 0x1f0]
cmp eax, ebx
je 0x465b5b
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e378f
add esp, 4
mov esi, edi
mov dword [edi + 0x2b0], ebx
mov dword [edi + 0x2ac], ebx
mov byte [edi + 0x7d78], bl
mov dword [edi + 0x84], 0x160
mov dword [edi + 0x88], 0x120
mov byte [edi + 0x81e], bl
call fcn.00447520
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
call fcn.004d47ed
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4