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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5c2e29
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.00405880
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.00447d90
lea ecx, [ebp - 0xe0]
call fcn.004d4f59
mov dword [ebp - 4], edi
cmp dword [ebx + 0x88], 0x120
mov dword [ebp - 0x9c], edi
ja 0x462027
cmp dword [ebx + 0x84], 0x160
jbe 0x462027
push 0xc
call fcn.004c51db
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
cmp esi, edi
mov byte [ebp - 4], 1
je 0x46205b
mov edi, dword [ebx + 0x88]
add edi, edi
jmp 0x462044
push 0xc
call fcn.004c51db
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
cmp esi, edi
mov byte [ebp - 4], 2
je 0x46205b
mov edi, dword [ebx + 0x88]
mov eax, dword [ebx + 0x84]
push 8
push eax
push esi
call fcn.0047d420
mov dword [esi], vtable.CJpegEncoder.0
jmp 0x46205d
xor esi, esi
mov byte [ebp - 4], 0
cmp dword [ebx + 0x1a8], 2
mov dword [ebp - 0xc8], esi
jne 0x4620a2
push 0x280
call fcn.004c51db
add esp, 4
test eax, eax
je 0x46209b
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x84]
push ecx
push edx
mov esi, eax
call fcn.0047da10
mov dword [ebp - 0x74], eax
jmp 0x4620e6
xor eax, eax
mov dword [ebp - 0x74], eax
jmp 0x4620e6
push 0xc
call fcn.004c51db
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
test esi, esi
mov byte [ebp - 4], 3
je 0x4620dd
mov eax, dword [ebx + 0x84]
mov edi, dword [ebx + 0x88]
push 0xd
push eax
push esi
call fcn.0047d420
mov dword [esi], vtable.CMpeg4Encoder.0
mov dword [esi + 4], 0
jmp 0x4620df
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.004eaae0
mov edx, dword [ebx + 0x88]
mov eax, dword [ebx + 0x84]
add esp, 0xc
push edx
push eax
push 4
mov ebx, esi
call fcn.0047c740
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0x21c]
push 0
push ecx
call fcn.004eaae0
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.0047c740
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0x248]
push 0
push ecx
call fcn.004eaae0
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.0047c740
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.004eaae0
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.0047c740
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x2b4]
push 0
push eax
call fcn.004eaae0
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.0047c740
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x198]
push 0
push eax
call fcn.004eaae0
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.0047c740
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x1f0]
push 0
push eax
mov dword [ebp - 0x68], 0
call fcn.004eaae0
mov eax, dword [esi + 0x88]
add esp, 0xc
cmp eax, 0x120
mov dword [ebp - 0xf0], 0xffffffff
ja 0x46229d
mov ecx, dword [esi + 0x84]
cmp ecx, 0x160
jbe 0x46229d
lea edx, [eax + eax]
push edx
push ecx
push 1
lea ebx, [ebp - 0x1f0]
call fcn.0047c740
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.004c520b
add esp, 4
mov dword [ebp - 0x34], eax
call fcn.0046dcf0
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.0046e860
push 0x48
xor ebx, ebx
lea eax, [ebp - 0x428]
push ebx
push eax
call fcn.004eaae0
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.0048ca40
push 0x48
lea eax, [ebp - 0x478]
push ebx
push eax
call fcn.004eaae0
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.0048ca40
push 0x64
lea eax, [ebp - 0x358]
push ebx
push eax
call fcn.004eaae0
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.0048cf20
push 0x64
lea eax, [ebp - 0x3c0]
push ebx
push eax
call fcn.004eaae0
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.0048cf20
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.004e4249
add esp, 4
cmp eax, ebx
je 0x46243e
lea ecx, [eax + 0xf]
and ecx, 0xfffffff0
cmp ecx, eax
jne 0x462435
add ecx, 0x10
mov dl, cl
sub dl, al
mov byte [ecx - 1], dl
jmp 0x462440
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.004eaae0
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.0047c740
add esp, 0xc
push 0xc
call fcn.004c51db
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
test esi, esi
mov byte [ebp - 4], 4
je 0x4624bf
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.0047d420
mov edi, dword [ebp + 8]
mov dword [esi], vtable.CJpegEncoder.0
jmp 0x4624c1
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 0x46250a
cmp dword [edi + 0x84], 0x160
ja 0x462503
cmp dword [edi + 0x198], 0
jne 0x46250a
cmp dword [edi + 0x7ce4], 5
jae 0x46250a
mov ebx, 1
jmp 0x46250c
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.004eaae0
add esp, 0xc
test bl, bl
mov byte [ebp - 0x2e], 0
mov dword [ebp - 0xe8], esi
jne 0x462563
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 0x4626bf
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x462576
shr eax, 1
mov byte [ebp - 0x2e], 1
mov dword [edi + 0x90], eax
mov eax, dword [edi + 0x88]
cmp eax, 0x120
jbe 0x46258f
shr eax, 1
or byte [ebp - 0x2e], 2
mov dword [edi + 0x94], eax
mov eax, dword [edi + 0x7ce4]
cmp eax, 5
jae 0x4625ac
mov dword [edi + 0x98], 6
jmp 0x4625ba
cmp eax, 8
jae 0x4625b4
add eax, 2
mov dword [edi + 0x98], eax
cmp dword [edi + 0x1a8], 2
jne 0x462601
push 0x280
call fcn.004c51db
add esp, 4
cmp eax, esi
je 0x4625f4
mov edx, dword [edi + 0x88]
mov ecx, dword [edi + 0x84]
push edx
push ecx
mov esi, eax
call fcn.0047da10
mov dword [ebp - 0xa0], eax
jmp 0x462689
xor eax, eax
mov dword [ebp - 0xa0], eax
jmp 0x462689
push 0xc
call fcn.004c51db
mov esi, eax
add esp, 4
mov dword [ebp - 0x80], esi
test esi, esi
mov byte [ebp - 4], 5
je 0x462641
mov eax, dword [edi + 0x88]
mov edi, dword [edi + 0x84]
push 0xd
push edi
push esi
mov edi, eax
call fcn.0047d420
mov edi, dword [ebp + 8]
mov dword [esi], vtable.CMpeg4Encoder.0
mov dword [esi + 4], 0
jmp 0x462643
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.004e5381
add esp, 0x14
test eax, eax
je 0x462689
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.0047c740
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 0x4626d8
fadd qword [0x6005c0]
fld qword [0x600570]
fmul st(1)
fadd qword [0x6005a0]
fdivrp st(1)
call fcn.004ecec0
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0xf4], eax
jne 0x462703
mov dword [ebp - 0xf4], 1
mov eax, dword [edi + 0x7ce0]
cmp eax, 0xa
jge 0x46271a
mov dword [ebp - 0xa8], 0x48c080
jmp 0x46276a
cmp eax, 0x64
jne 0x46272b
mov dword [ebp - 0xa8], 0x48bdb0
jmp 0x46276a
cmp eax, 0x12c
jne 0x46273e
mov dword [ebp - 0xa8], 0x48c080
jmp 0x46276a
cmp eax, 0x190
jne 0x462751
mov dword [ebp - 0xa8], 0x48c080
jmp 0x46276a
xor ecx, ecx
cmp eax, 0x1f4
setne cl
sub ecx, 1
and ecx, 0x48c080
mov dword [ebp - 0xa8], ecx
cmp dword [edi + 0x88], 0x120
jbe 0x46277d
mov eax, 1
jmp 0x46278d
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 0x466126
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 0x462819
cmp byte [edi + 0x81f], 0
je 0x462819
push ebx
push ebx
push edi
push 0x45ce30
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.0046ee60
jmp 0x462830
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 0x462869
mov dword [ebp - 4], 0
jmp 0x46610e
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x8c]
push 0
push 0x2710
push eax
push ecx
call fcn.004f1fa0
push 0
push 0x5265c00
push edx
push eax
call fcn.005bb9c0
mov dword [ebp - 0xc4], eax
mov eax, dword [edi + 0x2b0]
test al, 2
je 0x4628aa
and eax, 0xfffffffd
mov dword [edi + 0x2b0], eax
mov eax, dword [edi + 0x2b0]
test al, 8
je 0x462b0b
and eax, 0xfffffff7
xor ebx, ebx
cmp dword [ebp - 0x9c], ebx
mov dword [edi + 0x2b0], eax
je 0x462928
mov edx, dword [ebp - 0x90]
mov eax, dword [edx + 0x7c]
cmp dword [eax - 0xc], ebx
jne 0x4628de
mov ebx, 1
lea esi, [ebp - 0x494]
call fcn.00405880
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 0x462b01
jg 0x462920
cmp ecx, dword [ebp - 0x164]
jbe 0x462b01
test ebx, ebx
jne 0x462b01
mov eax, dword [edi + 0x88]
cmp eax, 0x120
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x68], ecx
ja 0x46296e
mov ecx, dword [edi + 0x84]
cmp ecx, 0x160
jbe 0x46296e
mov ebx, dword [ebp - 0x18]
lea edx, [ebp - 0x1f0]
push edx
call fcn.0048b600
lea eax, [ebp - 0x1f0]
add esp, 4
mov dword [ebp - 0x1d0], 1
mov dword [ebp - 0x68], eax
cmp byte [ebp - 0x21], 0
je 0x46299f
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.004c5ee1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4629da
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 0x5f510f
call fcn.00416b90
lea ecx, [ebp - 0x168]
push ecx
push edi
call fcn.00447180
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 8
call fcn.00404e20
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 0x462a3d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp - 0x20]
push 0x5fd780
push ebx
call fcn.004e7b85
mov esi, eax
add esp, 8
test esi, esi
je 0x462a70
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
push esi
push ecx
push 1
push edx
call fcn.004e7cb2
add esp, 0x10
push esi
call fcn.004e7db2
add esp, 4
cmp dword [ebp - 0x9c], 0
je 0x462ac9
call fcn.0044fa90
test eax, eax
je 0x462ac9
call fcn.004771f0
push ecx
mov dword [ebp - 0x28], eax
lea eax, [ebx - 0x10]
mov dword [ebp - 0x9c], esp
mov esi, esp
push eax
call fcn.00405210
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.00404bb0
mov esi, dword [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.00477540
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 0x462b01
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 0x462b70
and eax, 0xffffff7f
cmp byte [edi + 0x2a9], 0
mov dword [edi + 0x2b0], eax
mov dword [ebp - 0xcc], 0
je 0x462b69
mov esi, dword [edi + 0x7d28]
test esi, esi
je 0x462b62
call fcn.0047cd30
mov eax, dword [edi + 0x7d28]
push eax
call fcn.004c5206
add esp, 4
mov esi, edi
mov dword [edi + 0x7d28], 0
call fcn.00446900
mov byte [edi + 0x2a9], 0
mov esi, edi
call fcn.00447d90
mov eax, dword [edi + 0x2b0]
test al, 0x40
je 0x462bc9
and eax, 0xffffffbf
cmp byte [edi + 0x2a8], 0
mov dword [edi + 0x2b0], eax
je 0x462bc2
mov esi, dword [edi + 0x7d24]
test esi, esi
je 0x462bbb
call fcn.0047cd30
mov eax, dword [edi + 0x7d24]
push eax
call fcn.004c5206
add esp, 4
mov esi, edi
mov dword [edi + 0x7d24], 0
call fcn.00446900
mov byte [edi + 0x2a8], 0
mov esi, edi
call fcn.00447d90
mov eax, dword [edi + 0x2b0]
test al, 0x20
je 0x462e38
and eax, 0xffffffdf
cmp byte [edi + 0x2a9], 0
mov dword [edi + 0x2b0], eax
mov dword [ebp - 0xcc], 1
jne 0x462e27
mov esi, dword [edi + 0x7d28]
test esi, esi
je 0x462c26
call fcn.0047cd30
mov eax, dword [edi + 0x7d28]
push eax
call fcn.004c5206
add esp, 4
mov esi, edi
mov dword [edi + 0x7d28], 0
call fcn.00446900
lea ecx, [ebp - 0x120]
push 0x637a44
push ecx
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462c4b
mov eax, dword [ebp - 0x10c]
add eax, 0x76c
jmp 0x462c4d
xor eax, eax
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov word [ebp - 0xc0], ax
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462c77
mov eax, dword [ebp - 0x110]
add eax, 1
jmp 0x462c79
xor eax, eax
mov byte [ebp - 0xbe], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e4d5c
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.004e4d5c
add esp, 0x10
test eax, eax
jne 0x462cc2
mov eax, dword [ebp - 0x118]
jmp 0x462cc5
or eax, 0xffffffff
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov byte [ebp - 0xbc], al
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462ceb
mov eax, dword [ebp - 0x11c]
jmp 0x462cee
or eax, 0xffffffff
mov byte [ebp - 0xbb], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462d14
mov eax, dword [ebp - 0x120]
jmp 0x462d17
or eax, 0xffffffff
push 0x3048
mov byte [ebp - 0xba], al
mov byte [ebp - 0xb9], 0
call fcn.004c51db
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.00416b90
push edi
lea ecx, [ebp - 0x16c]
call fcn.00446b90
mov esi, eax
mov byte [ebp - 4], 0xa
mov eax, dword [esi]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x462dd3
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.004053f0
mov esi, dword [esi]
push esi
mov esi, ebx
call fcn.0047cbd0
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 0x462e06
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 0x462e31
mov dword [ebp - 0x94], 0
mov esi, edi
call fcn.00447d90
mov eax, dword [edi + 0x2b0]
test al, 0x10
je 0x463089
and eax, 0xffffffef
cmp byte [edi + 0x2a8], 0
mov dword [edi + 0x2b0], eax
jne 0x463082
mov esi, dword [edi + 0x7d24]
test esi, esi
je 0x462e8b
call fcn.0047cd30
mov eax, dword [edi + 0x7d24]
push eax
call fcn.004c5206
add esp, 4
mov esi, edi
mov dword [edi + 0x7d24], 0
call fcn.00446900
lea ecx, [ebp - 0x120]
push 0x637a44
push ecx
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462eb0
mov eax, dword [ebp - 0x10c]
add eax, 0x76c
jmp 0x462eb2
xor eax, eax
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov word [ebp - 0xb8], ax
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462edc
mov eax, dword [ebp - 0x110]
add eax, 1
jmp 0x462ede
xor eax, eax
mov byte [ebp - 0xb6], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e4d5c
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.004e4d5c
add esp, 0x10
test eax, eax
jne 0x462f27
mov eax, dword [ebp - 0x118]
jmp 0x462f2a
or eax, 0xffffffff
lea edx, [ebp - 0x120]
push 0x637a44
push edx
mov byte [ebp - 0xb4], al
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462f50
mov eax, dword [ebp - 0x11c]
jmp 0x462f53
or eax, 0xffffffff
mov byte [ebp - 0xb3], al
lea eax, [ebp - 0x120]
push 0x637a44
push eax
call fcn.004e4d5c
add esp, 8
test eax, eax
jne 0x462f79
mov eax, dword [ebp - 0x120]
jmp 0x462f7c
or eax, 0xffffffff
push 0x3048
mov byte [ebp - 0xb2], al
mov byte [ebp - 0xb1], 0
call fcn.004c51db
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 0x5f510f
mov dword [edi + 0x7d24], ebx
call fcn.00416b90
push edi
lea ecx, [ebp - 0x15c]
call fcn.00446b90
mov esi, eax
mov byte [ebp - 4], 0xb
mov eax, dword [esi]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x463034
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.004053f0
mov esi, dword [esi]
push esi
mov esi, ebx
call fcn.0047cbd0
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 0x463067
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.00447d90
cmp dword [edi + 0x7d70], 0
je 0x4630f8
cmp dword [ebp - 0xcc], 0
je 0x4630e9
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 0x4630f8
push 0
push 0
push 0
push 0x461ea0
push 0
push 0
mov dword [ebp - 0xd0], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xf0], eax
jmp 0x4630f8
push 1
push 0
push 0x5f510f
call dword [sym.imp.WINMM.dll_PlaySoundA]
mov eax, dword [ebp - 0x70]
cmp eax, 1
jne 0x46310b
lea ecx, [edi + 0xa8]
jmp 0x462820
cmp eax, 2
jne 0x463158
cmp byte [ebp - 0x21], 0
jne 0x46319d
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.0046ebb0
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x2e0]
lea eax, [ebp - 0x2b4]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x78], eax
jmp 0x462830
test eax, eax
jne 0x46319d
cmp byte [ebp - 0x21], 1
jne 0x46319d
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.0046ebb0
mov edi, dword [ebp + 8]
lea edx, [ebp - 0x21c]
lea eax, [ebp - 0x248]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x78], eax
jmp 0x462830
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 0x463254
mov ecx, dword [edi + 0x84]
cmp ecx, 0x160
jbe 0x463254
add ecx, ecx
add ecx, ecx
cmp dword [edi + 0x88], 0x120
jbe 0x463218
add ecx, ecx
push ecx
push 0
push eax
call fcn.004eaae0
mov edx, dword [edi + 0x84]
mov eax, dword [edi + 0xcdc]
add esp, 0xc
add edx, edx
push edx
push 0x7f
push eax
call fcn.004eaae0
mov ecx, dword [edi + 0x84]
add ecx, ecx
jmp 0x46323f
push ecx
push 0
push eax
call fcn.004eaae0
mov edx, dword [edi + 0x84]
mov eax, dword [edi + 0xcdc]
add esp, 0xc
push edx
push 0x7f
push eax
call fcn.004eaae0
mov ecx, dword [edi + 0x84]
mov edx, dword [edi + 0xce0]
add esp, 0xc
push ecx
push 0x7f
push edx
call fcn.004eaae0
add esp, 0xc
cmp dword [edi + 0x88], 0x120
jbe 0x463276
cmp dword [edi + 0x1c8], 0
je 0x463276
mov eax, dword [esi]
lea esi, [ebp - 0x2f4]
call fcn.0048b890
cmp byte [ebp - 0x21], 0
mov eax, dword [edi + 0x1d0]
jne 0x464364
movzx ecx, byte [ebp - 0x2d]
cmp eax, ecx
je 0x463294
test eax, eax
setne byte [ebp - 0x2d]
cmp dword [edi + 0xddc], 0
je 0x463603
mov eax, dword [edi + 0x88]
cmp eax, 0x120
ja 0x4634f7
cmp dword [edi + 0x84], 0x160
ja 0x4633d3
cmp dword [edi + 0xd34], 0
jle 0x463603
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 0x463357
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x463327
mov esi, dword [ebp - 0x274]
lea ecx, [ecx]
cmp esi, dword [ebp - 0x26c]
jg 0x463392
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x463360
mov esi, dword [ebp - 0x274]
jmp 0x4633a0
cmp esi, dword [ebp - 0x26c]
jg 0x463603
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x4633a0
cmp eax, 0x120
ja 0x4634f7
cmp dword [edi + 0x84], 0x2c0
ja 0x4634f7
cmp dword [edi + 0xd34], 0
jle 0x463603
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 0x46347c
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x463450
mov esi, dword [ebp - 0x254]
cmp esi, dword [ebp - 0x24c]
jg 0x4634b8
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x463482
mov esi, dword [ebp - 0x254]
mov edi, edi
cmp esi, dword [ebp - 0x24c]
jg 0x463603
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x4634c0
cmp eax, 0x240
ja 0x463603
cmp dword [edi + 0x84], 0x2c0
ja 0x463603
mov eax, dword [edi + 0xd34]
test eax, eax
jle 0x463603
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 0x463584
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x463558
mov esi, dword [edi + 0xd38]
lea ebx, [ebx]
cmp esi, dword [edi + 0xd40]
jg 0x4635c6
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x463590
mov esi, dword [edi + 0xd38]
lea esp, [esp]
cmp esi, dword [edi + 0xd40]
jg 0x463603
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x4635d0
cmp byte [edi + 0x81c], 1
jne 0x46379c
mov eax, dword [ebp - 0x7c]
xor edx, edx
div dword [ebp - 0xf4]
test edx, edx
jne 0x46379c
mov eax, dword [edi + 0xd1c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x344], 1
jne 0x463645
mov dword [ebp - 0x338], 4
jmp 0x463665
cmp eax, 1
jne 0x463656
mov dword [ebp - 0x338], 0x14
jmp 0x463665
cmp eax, 2
jne 0x463665
mov dword [ebp - 0x338], 0x64
mov edx, dword [edi + 0xd28]
mov esi, dword [edi + 0xd20]
cmp edx, esi
jle 0x46372d
mov eax, dword [edi + 0xd2c]
mov ecx, dword [edi + 0xd24]
cmp eax, ecx
jle 0x46372d
mov ebx, dword [edi + 0x88]
cmp ebx, 0x120
ja 0x4636f6
cmp dword [edi + 0x84], 0x160
ja 0x4636c4
mov dword [ebp - 0x334], esi
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x328], eax
jmp 0x463751
cmp ebx, 0x120
ja 0x4636f6
cmp dword [edi + 0x84], 0x2c0
ja 0x4636f6
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 0x463751
cmp ebx, 0x240
ja 0x463751
cmp dword [edi + 0x84], 0x2c0
ja 0x463751
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 0x463751
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.0048cb90
mov ecx, dword [ebp - 0x33c]
add esp, 8
cmp ecx, dword [ebp - 0x338]
jle 0x46379c
cmp byte [edi + 0x81c], 0
je 0x463782
or dword [edi + 0x2b0], 0x20
mov eax, 1
cmp dword [edi + 0xd30], eax
jne 0x46379c
or dword [edi + 0x2b0], 8
mov dword [ebp - 0x9c], eax
cmp dword [edi + 0x1b8], 1
jne 0x4637bd
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x18]
push edx
lea edi, [ebp - 0x42c]
call fcn.0048c9e0
mov edi, dword [ebp + 8]
add esp, 4
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x24], 0
je 0x4640fc
call fcn.004c5ee1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4637e7
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.00405880
mov ecx, esi
push ecx
mov esi, str._y__m__d__H:_M:_S
lea edi, [ebp - 0x158]
call fcn.00405a00
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.00404e20
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 0x46384b
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 0x4640d9
xor ebx, ebx
cmp eax, ebx
jl 0x4640cf
cmp eax, dword [ecx - 0xc]
jg 0x4640cf
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0x88]
cmp edx, 0x240
mov cl, byte [eax + ecx]
jne 0x4639e4
cmp dword [edi + 0x84], 0x2c0
jne 0x4639e4
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x4638b0.33
movzx ecx, byte [ecx + 0x466454]
jmp dword [ecx*4 + 0x46641c]
mov dword [ebp - 0x5c], 0x633e28
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x634128
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x6318a8
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x630768
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x631368
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x631068
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x633768
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x631f68
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x630be8
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x633a68
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x6332e8
jmp case.0x4638b0.33
mov dword [ebp - 0x5c], 0x630468
jmp case.0x4638b0.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 0x463970
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46398a
cmp ecx, 0x60
jge 0x463983
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46398a
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x4640c4
xor ecx, ecx
lea ecx, [ecx]
cmp ecx, 0x10
jge 0x4639df
mov ebx, dword [ebp - 0x5c]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x4639da
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 0x4639a0
add edx, 1
jmp 0x46398f
cmp edx, 0x120
jne 0x463cac
cmp dword [edi + 0x84], 0x2c0
jne 0x463b4f
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463a16.33
movzx ecx, byte [ecx + 0x4664a8]
jmp dword [ecx*4 + 0x466470]
mov dword [ebp - 0x64], 0x632ce8
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x632928
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x6335e8
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x6327a8
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x632b68
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x6323e8
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x6302e8
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x631c68
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x632268
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x631728
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x633168
jmp case.0x463a16.33
mov dword [ebp - 0x64], 0x632628
jmp case.0x463a16.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 0x463ae2
mov dword [ebp - 0x1c], ebx
mov dword [edi + eax*4 + 0x828], ebx
jmp 0x463aff
cmp ecx, 0x60
jge 0x463af5
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463afc
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x4640c4
xor ecx, ecx
nop
cmp ecx, 8
jge 0x463b4a
mov ebx, dword [ebp - 0x64]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x463b45
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 0x463b10
add edx, 1
jmp 0x463b01
cmp edx, 0x120
jne 0x463cac
cmp dword [edi + 0x84], 0x160
jne 0x463cac
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463b81.33
movzx ecx, byte [ecx + 0x4664fc]
jmp dword [ecx*4 + 0x4664c4]
mov dword [ebp - 0x58], 0x632568
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x6345a8
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x632aa8
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x630fa8
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x631668
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x6344e8
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x631ea8
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x630228
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x633d68
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x631de8
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x631ba8
jmp case.0x463b81.33
mov dword [ebp - 0x58], 0x634428
jmp case.0x463b81.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 0x463c3d
mov dword [ebp - 0x1c], ebx
mov dword [edi + eax*4 + 0x828], ebx
jmp 0x463c5a
cmp ecx, 0x60
jge 0x463c50
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463c57
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x18
mov dword [ebp - 0x20], edx
jge 0x4640c4
xor ecx, ecx
lea ebx, [ebx]
cmp ecx, 8
jge 0x463ca7
mov ebx, dword [ebp - 0x58]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x463ca2
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 0x463c70
add edx, 1
jmp 0x463c5c
cmp edx, 0x1e0
jne 0x463e14
cmp dword [edi + 0x84], 0x280
jne 0x463e14
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463cde.33
movzx ecx, byte [ecx + 0x466550]
jmp dword [ecx*4 + 0x466518]
mov dword [ebp - 0x60], 0x633e28
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x634128
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x6318a8
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x630768
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x631368
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x631068
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x633768
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x631f68
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x630be8
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x633a68
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x6332e8
jmp case.0x463cde.33
mov dword [ebp - 0x60], 0x630468
jmp case.0x463cde.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 0x463d9e
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463db8
cmp ecx, 0x60
jge 0x463db1
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463db8
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x4640c4
xor ecx, ecx
jmp 0x463dd0
cmp ecx, 0x10
jge 0x463e0f
mov ebx, dword [ebp - 0x60]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x463e0a
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 0x463dd0
add edx, 1
jmp 0x463dbd
cmp edx, 0xf0
jne 0x4640c4
cmp dword [edi + 0x84], 0x280
jne 0x463f74
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463e46.33
movzx ecx, byte [ecx + 0x4665a4]
jmp dword [ecx*4 + 0x46656c]
mov dword [ebp - 0x54], 0x632ce8
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x632928
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x6335e8
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x6327a8
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x632b68
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x6323e8
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x6302e8
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x631c68
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x632268
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x631728
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x633168
jmp case.0x463e46.33
mov dword [ebp - 0x54], 0x632628
jmp case.0x463e46.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 0x463f08
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463f22
cmp ecx, 0x60
jge 0x463f1b
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x463f22
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x4640c4
xor ecx, ecx
cmp ecx, 8
jge 0x463f6f
mov ebx, dword [ebp - 0x54]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x463f6a
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 0x463f35
add edx, 1
jmp 0x463f27
cmp edx, 0xf0
jne 0x4640c4
cmp dword [edi + 0x84], 0x140
jne 0x4640c4
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463fa6.33
movzx ecx, byte [ecx + 0x4665f8]
jmp dword [ecx*4 + 0x4665c0]
mov dword [ebp - 0x44], 0x632568
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x6345a8
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x632aa8
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x630fa8
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x631668
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x6344e8
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x631ea8
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x630228
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x633d68
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x631de8
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x631ba8
jmp case.0x463fa6.33
mov dword [ebp - 0x44], 0x634428
jmp case.0x463fa6.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 0x464062
mov dword [ebp - 0x1c], ebx
mov dword [edi + eax*4 + 0x828], ebx
jmp 0x46407f
cmp ecx, 0x60
jge 0x464075
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46407c
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor esi, esi
cmp esi, 0x18
jge 0x4640c4
xor ecx, ecx
cmp ecx, 8
jge 0x4640bf
mov ebx, dword [ebp - 0x44]
lea edx, [ecx + esi*8]
cmp byte [edx + ebx], 0
je 0x4640ba
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 0x464088
add esi, 1
jmp 0x464081
mov ecx, dword [ebp - 0x2c]
add eax, 1
jmp 0x463856
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 0x4640f9
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 0x46433f
mov ecx, dword [edi + 0x88]
cmp ecx, 0x120
jbe 0x4641e6
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x4641da
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 0x464172
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x46418a
cmp eax, 0x60
jge 0x464184
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x46418a
mov ebx, dword [edi + 0x888]
xor ecx, ecx
lea esp, [esp]
cmp ecx, 0x30
jge 0x46433f
xor eax, eax
jmp 0x4641a0
cmp eax, 0x160
jge 0x4641d5
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x3ae0], 0
je 0x4641d0
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 0x4641a0
add ecx, 1
jmp 0x464190
cmp ecx, 0x120
ja 0x46429a
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x46429a
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 0x464237
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x46424f
cmp eax, 0x60
jge 0x464249
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x46424f
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x46433f
xor eax, eax
lea esp, [esp]
cmp eax, 0x160
jge 0x464295
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x19e0], 0
je 0x464290
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 0x464260
add ecx, 1
jmp 0x464251
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 0x4642e7
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x4642ff
cmp eax, 0x60
jge 0x4642f9
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x4642ff
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x46433f
xor eax, eax
cmp eax, 0x80
jge 0x46433a
mov esi, ecx
shl esi, 7
add esi, eax
cmp byte [esi + edi + 0xde0], 0
je 0x464335
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 0x464308
add ecx, 1
jmp 0x464301
cmp dword [edi + 0x194], 0
je 0x465421
mov ebx, dword [ebp - 0x84]
lea eax, [edi + 0xa8]
push eax
push edx
call fcn.0046ec30
jmp 0x465421
movzx edx, byte [ebp - 0x2d]
shl dword [edi + 0x84], 1
cmp eax, edx
mov ecx, dword [edi + 0x84]
je 0x46437e
test eax, eax
setne byte [ebp - 0x2d]
cmp dword [edi + 0xddc], 0
je 0x4646d3
mov eax, dword [edi + 0x88]
cmp eax, 0x120
ja 0x4645ca
cmp ecx, 0x160
ja 0x4644b3
cmp dword [edi + 0xd34], 0
jle 0x4646d3
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 0x464440
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464410
mov esi, dword [ebp - 0x284]
cmp esi, dword [ebp - 0x27c]
jg 0x464478
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464446
mov esi, dword [ebp - 0x284]
mov edi, edi
cmp esi, dword [ebp - 0x27c]
jg 0x4646d3
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464480
cmp eax, 0x120
ja 0x4645ca
cmp ecx, 0x2c0
ja 0x4645ca
cmp dword [edi + 0xd34], 0
jle 0x4646d3
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 0x464551
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464525
mov esi, dword [ebp - 0x264]
cmp esi, dword [ebp - 0x25c]
jg 0x46458d
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464557
mov esi, dword [ebp - 0x264]
cmp esi, dword [ebp - 0x25c]
jg 0x4646d3
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464593
cmp eax, 0x240
ja 0x4646d3
cmp ecx, 0x2c0
ja 0x4646d3
mov eax, dword [edi + 0xd34]
test eax, eax
jle 0x4646d3
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 0x464653
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464627
mov esi, dword [edi + 0xd38]
lea esp, [esp]
cmp esi, dword [edi + 0xd40]
jg 0x464696
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x464660
mov esi, dword [edi + 0xd38]
lea esp, [esp]
cmp esi, dword [edi + 0xd40]
jg 0x4646d3
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.004eaae0
add esp, 0xc
add esi, 1
jmp 0x4646a0
cmp byte [edi + 0x81c], 1
jne 0x464870
mov ecx, dword [ebp - 0x7c]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x464870
mov eax, dword [edi + 0xd1c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x3ac], 1
jne 0x464719
mov dword [ebp - 0x3a0], 4
jmp 0x464739
cmp eax, 1
jne 0x46472a
mov dword [ebp - 0x3a0], 0x14
jmp 0x464739
cmp eax, 2
jne 0x464739
mov dword [ebp - 0x3a0], 0x64
mov edx, dword [edi + 0xd28]
mov esi, dword [edi + 0xd20]
cmp edx, esi
jle 0x464801
mov eax, dword [edi + 0xd2c]
mov ecx, dword [edi + 0xd24]
cmp eax, ecx
jle 0x464801
mov ebx, dword [edi + 0x88]
cmp ebx, 0x120
ja 0x4647ca
cmp dword [edi + 0x84], 0x160
ja 0x464798
mov dword [ebp - 0x39c], esi
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], eax
jmp 0x464825
cmp ebx, 0x120
ja 0x4647ca
cmp dword [edi + 0x84], 0x2c0
ja 0x4647ca
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 0x464825
cmp ebx, 0x240
ja 0x464825
cmp dword [edi + 0x84], 0x2c0
ja 0x464825
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 0x464825
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.0048cb90
mov ecx, dword [ebp - 0x3a4]
add esp, 8
cmp ecx, dword [ebp - 0x3a0]
jle 0x464870
cmp byte [edi + 0x81c], 0
je 0x464856
or dword [edi + 0x2b0], 0x20
cmp dword [edi + 0xd30], 1
jne 0x464870
or dword [edi + 0x2b0], 8
mov dword [ebp - 0x9c], 1
cmp dword [edi + 0x1b8], 1
jne 0x464891
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x18]
push edx
lea edi, [ebp - 0x47c]
call fcn.0048c9e0
mov edi, dword [ebp + 8]
add esp, 4
mov eax, dword [ebp - 0x90]
cmp dword [eax + 0x24], 0
je 0x4651c3
call fcn.004c5ee1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4648bb
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.00405880
mov ecx, esi
push ecx
mov esi, str._y__m__d__H:_M:_S
lea edi, [ebp - 0x80]
call fcn.00405a00
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.00404e20
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 0x464919
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 0x4651a0
cmp eax, esi
jl 0x4640cf
cmp eax, dword [ecx - 0xc]
jg 0x4640cf
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0x88]
cmp edx, 0x240
mov cl, byte [eax + ecx]
jne 0x464ab4
cmp dword [edi + 0x84], 0x2c0
jne 0x464ab4
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x46497e.33
movzx ecx, byte [ecx + 0x46664c]
jmp dword [ecx*4 + 0x466614]
mov dword [ebp - 0x48], 0x633e28
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x634128
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x6318a8
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x630768
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x631368
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x631068
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x633768
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x631f68
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x630be8
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x633a68
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x6332e8
jmp case.0x46497e.33
mov dword [ebp - 0x48], 0x630468
jmp case.0x46497e.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 0x464a3e
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464a58
cmp ecx, 0x60
jge 0x464a51
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464a58
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x465193
xor ecx, ecx
jmp 0x464a70
cmp ecx, 0x10
jge 0x464aaf
mov ebx, dword [ebp - 0x48]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x464aaa
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 0x464a70
add edx, 1
jmp 0x464a5d
cmp edx, 0x120
jne 0x464d7c
cmp dword [edi + 0x84], 0x2c0
jne 0x464c1f
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464ae6.33
movzx ecx, byte [ecx + 0x4666a0]
jmp dword [ecx*4 + 0x466668]
mov dword [ebp - 0x4c], 0x632ce8
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x632928
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x6335e8
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x6327a8
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x632b68
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x6323e8
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x6302e8
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x631c68
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x632268
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x631728
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x633168
jmp case.0x464ae6.33
mov dword [ebp - 0x4c], 0x632628
jmp case.0x464ae6.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 0x464bb1
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464bcb
cmp ecx, 0x60
jge 0x464bc4
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464bcb
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x465193
xor ecx, ecx
mov edi, edi
cmp ecx, 8
jge 0x464c1a
mov ebx, dword [ebp - 0x4c]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x464c15
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 0x464be0
add edx, 1
jmp 0x464bd0
cmp edx, 0x120
jne 0x464d7c
cmp dword [edi + 0x84], 0x160
jne 0x464d7c
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464c51.33
movzx ecx, byte [ecx + 0x4666f4]
jmp dword [ecx*4 + 0x4666bc]
mov dword [ebp - 0x50], 0x632568
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x6345a8
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x632aa8
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x630fa8
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x631668
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x6344e8
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x631ea8
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x630228
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x633d68
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x631de8
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x631ba8
jmp case.0x464c51.33
mov dword [ebp - 0x50], 0x634428
jmp case.0x464c51.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 0x464d0d
mov dword [ebp - 0x1c], esi
mov dword [edi + eax*4 + 0x828], esi
jmp 0x464d2a
cmp ecx, 0x60
jge 0x464d20
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464d27
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x18
mov dword [ebp - 0x20], edx
jge 0x465193
xor ecx, ecx
lea ebx, [ebx]
cmp ecx, 8
jge 0x464d77
mov ebx, dword [ebp - 0x50]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x464d72
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 0x464d40
add edx, 1
jmp 0x464d2c
cmp edx, 0x1e0
jne 0x464ee4
cmp dword [edi + 0x84], 0x280
jne 0x464ee4
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464dae.33
movzx ecx, byte [ecx + 0x466748]
jmp dword [ecx*4 + 0x466710]
mov dword [ebp - 0x3c], 0x633e28
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x634128
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x6318a8
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x630768
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x631368
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x631068
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x633768
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x631f68
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x630be8
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x633a68
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x6332e8
jmp case.0x464dae.33
mov dword [ebp - 0x3c], 0x630468
jmp case.0x464dae.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 0x464e6e
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464e88
cmp ecx, 0x60
jge 0x464e81
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464e88
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x465193
xor ecx, ecx
jmp 0x464ea0
cmp ecx, 0x10
jge 0x464edf
mov ebx, dword [ebp - 0x3c]
mov esi, edx
shl esi, 4
add esi, ecx
cmp byte [esi + ebx], 0
je 0x464eda
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 0x464ea0
add edx, 1
jmp 0x464e8d
cmp edx, 0xf0
jne 0x465193
cmp dword [edi + 0x84], 0x280
jne 0x465044
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464f16.33
movzx ecx, byte [ecx + 0x46679c]
jmp dword [ecx*4 + 0x466764]
mov dword [ebp - 0x40], 0x632ce8
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x632928
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x6335e8
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x6327a8
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x632b68
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x6323e8
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x6302e8
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x631c68
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x632268
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x631728
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x633168
jmp case.0x464f16.33
mov dword [ebp - 0x40], 0x632628
jmp case.0x464f16.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 0x464fd8
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464ff2
cmp ecx, 0x60
jge 0x464feb
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x464ff2
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor edx, edx
cmp edx, 0x30
mov dword [ebp - 0x20], edx
jge 0x465193
xor ecx, ecx
cmp ecx, 8
jge 0x46503f
mov ebx, dword [ebp - 0x40]
lea esi, [ecx + edx*8]
cmp byte [esi + ebx], 0
je 0x46503a
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 0x465005
add edx, 1
jmp 0x464ff7
cmp edx, 0xf0
jne 0x465193
cmp dword [edi + 0x84], 0x140
jne 0x465193
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x465076.33
movzx ecx, byte [ecx + 0x4667f0]
jmp dword [ecx*4 + 0x4667b8]
mov dword [ebp - 0x38], 0x632568
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x6345a8
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x632aa8
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x630fa8
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x631668
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x6344e8
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x631ea8
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x630228
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x633d68
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x631de8
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x631ba8
jmp case.0x465076.33
mov dword [ebp - 0x38], 0x634428
jmp case.0x465076.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 0x465131
xor ecx, ecx
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46514b
cmp ecx, 0x60
jge 0x465144
mov ecx, 0xff
mov dword [edi + eax*4 + 0x828], ecx
jmp 0x46514b
mov ecx, dword [edi + eax*4 + 0x828]
mov dword [ebp - 0x1c], ecx
xor esi, esi
cmp esi, 0x18
jge 0x465193
xor ecx, ecx
cmp ecx, 8
jge 0x46518e
mov ebx, dword [ebp - 0x38]
lea edx, [ecx + esi*8]
cmp byte [edx + ebx], 0
je 0x465189
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 0x465157
add esi, 1
jmp 0x465150
mov ecx, dword [ebp - 0x2c]
add eax, 1
xor esi, esi
jmp 0x464926
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 0x4651c0
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 0x4653ff
mov ecx, dword [edi + 0x88]
cmp ecx, 0x120
jbe 0x4652a6
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x46529a
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 0x465239
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x465251
cmp eax, 0x60
jge 0x46524b
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x465251
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x30
jge 0x4653ff
xor eax, eax
mov edi, edi
cmp eax, 0x160
jge 0x465295
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x3ae0], 0
je 0x465290
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 0x465260
add ecx, 1
jmp 0x465253
cmp ecx, 0x120
ja 0x46535a
mov eax, dword [edi + 0x84]
cmp eax, 0x160
jbe 0x46535a
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 0x4652f7
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x46530f
cmp eax, 0x60
jge 0x465309
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x46530f
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x4653ff
xor eax, eax
lea esp, [esp]
cmp eax, 0x160
jge 0x465355
mov esi, ecx
imul esi, esi, 0x160
add esi, eax
cmp byte [esi + edi + 0x19e0], 0
je 0x465350
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 0x465320
add ecx, 1
jmp 0x465311
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 0x4653a7
xor ebx, ebx
mov dword [edi + 0x888], ebx
jmp 0x4653bf
cmp eax, 0x60
jge 0x4653b9
mov ebx, 0xff
mov dword [edi + 0x888], ebx
jmp 0x4653bf
mov ebx, dword [edi + 0x888]
xor ecx, ecx
cmp ecx, 0x18
jge 0x4653ff
xor eax, eax
cmp eax, 0x80
jge 0x4653fa
mov esi, ecx
shl esi, 7
add esi, eax
cmp byte [esi + edi + 0xde0], 0
je 0x4653f5
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 0x4653c8
add ecx, 1
jmp 0x4653c1
cmp dword [edi + 0x194], 0
je 0x46541b
mov ebx, dword [ebp - 0x84]
lea eax, [edi + 0xa8]
push eax
push edx
call fcn.0046ec30
shr dword [edi + 0x84], 1
cmp dword [edi + 0x7d2c], 0
jg 0x46543c
cmp byte [edi + 0x2a8], 0
jne 0x46543c
cmp byte [edi + 0x2a9], 0
je 0x465476
cmp byte [ebp - 0x21], 0
mov ecx, dword [ebp - 0x78]
je 0x465473
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 0x465476
mov dword [ebp - 0x68], ecx
cmp byte [edi + 0x7d78], 0
jne 0x4658fd
cmp dword [edi + 0x7d2c], 0
jg 0x4654ad
cmp byte [edi + 0x2a8], 0
jne 0x4654ad
cmp byte [edi + 0x2a9], 0
jne 0x4654ad
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
jmp 0x465eeb
mov eax, dword [ebp - 0x7c]
cmp eax, 1
jbe 0x465eeb
mov ecx, dword [edi + 0x7ce4]
cmp ecx, 0xa
jb 0x4654c9
mov ecx, 9
xor edx, edx
div dword [ecx*8 + 0x61a5b0]
cmp dword [ecx*8 + 0x61a5b4], 0
je 0x4654e3
test edx, edx
setne al
jmp 0x4654e8
test edx, edx
sete al
test al, al
je 0x465eeb
cmp dword [edi + 0xdcc], 0
mov ebx, dword [ebp - 0x74]
je 0x46550f
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 0x465549
mov cl, byte [esi + 4]
and cl, 0xc0
cmp cl, 0xc0
sete cl
jmp 0x46558f
cmp ebx, 1
jne 0x46558d
cmp byte [esi], 0xa0
jne 0x465578
cmp byte [esi + 1], 0x10
jne 0x465578
cmp byte [esi + 2], 0
jne 0x465578
cmp byte [esi + 3], 0
jne 0x465578
cmp byte [esi + 7], bl
jne 0x46558d
mov dl, byte [esi + 8]
and dl, 0x1f
cmp dl, bl
je 0x46558d
mov cl, bl
jmp 0x46558f
cmp byte [esi + 3], 1
jne 0x46558d
mov cl, byte [esi + 4]
and cl, 0x1f
cmp cl, 1
je 0x46558d
mov cl, 1
jmp 0x46558f
xor cl, cl
test eax, eax
movzx edx, cl
mov dword [ebp - 0x70], edx
jle 0x465eeb
cmp byte [edi + 0x2a8], 0
je 0x465655
cmp dword [edi + 0x7d24], 0
je 0x4655fe
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.0047cd90
mov edx, dword [edi + 0x7d24]
add esp, 0xc
cmp dword [edx + 0x303c], 0
jne 0x4655f7
mov esi, edi
call fcn.00446900
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 0x46564e
cmp dword [eax + 0x3034], 0x400
jae 0x46564e
lea eax, [ebp - 0x4c8]
push 0x637a44
push eax
call fcn.004e4d5c
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 0x465655
or dword [edi + 0x2b0], 0x50
cmp byte [edi + 0x2a9], 0
je 0x46574b
cmp dword [edi + 0x7d28], 0
je 0x4656b6
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.0047cd90
mov edx, dword [edi + 0x7d28]
add esp, 0xc
cmp dword [edx + 0x303c], 0
jne 0x4656af
mov esi, edi
call fcn.00446900
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 0x4656d5
fadd dword [0x600558]
fild dword [edi + 0xd18]
fmul dword [edi + 0x78]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4656f1
or dword [edi + 0x2b0], 0x80
mov eax, dword [edi + 0x7d24]
add dword [ebp - 0xb0], 1
cmp dword [eax + 0x1c], 0x36ee80
ja 0x465741
cmp dword [eax + 0x3034], 0x400
jae 0x465741
lea eax, [ebp - 0x510]
push 0x637a44
push eax
call fcn.004e4d5c
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 0x46574b
or dword [edi + 0x2b0], 0x80
mov eax, dword [edi + 0x7d2c]
test eax, eax
jle 0x465eeb
xor ebx, ebx
mov dword [ebp - 0x2c], eax
cmp ebx, 0x80
mov dword [ebp - 0x1c], ebx
jge 0x465eeb
cmp dword [ebp - 0x2c], 0
jle 0x465eeb
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + ebx*4 + 0xe8]
test eax, eax
je 0x4658d0
mov ecx, dword [eax + 0x24]
cmp ecx, dword [edi + 0x15c]
jne 0x4658d0
mov edx, dword [eax + 0x28]
cmp edx, dword [edi + 0x160]
jne 0x4658d0
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [edi + 0x164]
jne 0x4658d0
sub dword [ebp - 0x2c], 1
cmp dword [ebp - 0x70], 0
mov esi, dword [eax + 0x14]
lea ecx, [eax + 0x14]
je 0x4658d8
cmp esi, 0x19
jl 0x4657fc
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.004f0e70
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 0x46575e
cmp dword [eax + 0x1c], 0
je 0x4658d0
cmp esi, 0x28
jge 0x4658ee
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x28], ecx
jmp 0x46580c
mov dword [eax + 0x1c], 0
add ebx, 1
jmp 0x46575e
cmp dword [edi + 0x7d2c], 0
jle 0x465c22
mov eax, dword [ebp - 0x7c]
cmp eax, 1
jbe 0x465c2f
mov ecx, dword [edi + 0x98]
cmp ecx, 0xa
jb 0x465926
mov ecx, 9
xor edx, edx
div dword [ecx*8 + 0x61a5b0]
cmp dword [ecx*8 + 0x61a5b4], 0
je 0x465940
test edx, edx
setne al
jmp 0x465945
test edx, edx
sete al
test al, al
je 0x465c2f
mov al, byte [ebp - 0x2e]
cmp al, 3
mov edx, dword [ebp - 0x68]
jne 0x46597c
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 0x4659be
cmp al, 1
jne 0x4659a5
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 0x4659be
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edx]
push ecx
mov ecx, dword [ebp - 0x1c4]
push eax
push ecx
call fcn.004f0e70
add esp, 0xc
cmp byte [edi + 0xdd0], 0
mov ebx, dword [ebp - 0xa0]
je 0x4659dd
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 0x465a1a
mov cl, byte [esi + 4]
and cl, 0xc0
cmp cl, 0xc0
sete cl
jmp 0x465a60
cmp ebx, 1
jne 0x465a5e
cmp byte [esi], 0xa0
jne 0x465a49
cmp byte [esi + 1], 0x10
jne 0x465a49
cmp byte [esi + 2], 0
jne 0x465a49
cmp byte [esi + 3], 0
jne 0x465a49
cmp byte [esi + 7], bl
jne 0x465a5e
mov dl, byte [esi + 8]
and dl, 0x1f
cmp dl, bl
je 0x465a5e
mov cl, bl
jmp 0x465a60
cmp byte [esi + 3], 1
jne 0x465a5e
mov cl, byte [esi + 4]
and cl, 0x1f
cmp cl, 1
je 0x465a5e
mov cl, 1
jmp 0x465a60
xor cl, cl
test eax, eax
movzx edx, cl
mov dword [ebp - 0x20], edx
jle 0x465c2f
mov eax, dword [edi + 0x7d2c]
test eax, eax
jle 0x465c2f
xor ebx, ebx
mov edx, eax
cmp ebx, 0x80
mov dword [ebp - 0x1c], ebx
jge 0x465c2f
test edx, edx
jle 0x465c2f
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + ebx*4 + 0xe8]
test eax, eax
je 0x465bf5
mov ecx, dword [eax + 0x24]
cmp ecx, dword [edi + 0x15c]
jne 0x465bf5
mov ecx, dword [eax + 0x28]
cmp ecx, dword [edi + 0x160]
jne 0x465bf5
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [edi + 0x164]
jne 0x465bf5
mov esi, dword [eax + 0x14]
sub edx, 1
cmp dword [ebp - 0x20], 0
lea ecx, [eax + 0x14]
mov dword [ebp - 0x2c], edx
je 0x465bfd
cmp esi, 0x19
jl 0x465b1e
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.004f0e70
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 0x465a80
cmp dword [eax + 0x1c], 0
je 0x465bf5
cmp esi, 0x28
jge 0x465c13
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x28], ecx
jmp 0x465b2e
mov dword [eax + 0x1c], 0
add ebx, 1
jmp 0x465a80
mov ecx, dword [ebp - 0xa0]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
cmp byte [edi + 0x2a8], 0
jne 0x465c50
cmp byte [edi + 0x2a9], 0
jne 0x465c50
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
jmp 0x465eeb
mov eax, dword [ebp - 0x7c]
cmp eax, 1
jbe 0x465eeb
mov ecx, dword [edi + 0x7ce4]
cmp ecx, 0xa
jb 0x465c6c
mov ecx, 9
xor edx, edx
div dword [ecx*8 + 0x61a5b0]
cmp dword [ecx*8 + 0x61a5b4], 0
je 0x465c86
test edx, edx
setne al
jmp 0x465c8b
test edx, edx
sete al
test al, al
je 0x465eeb
cmp dword [edi + 0xdcc], 0
mov ebx, dword [ebp - 0x74]
je 0x465cb2
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 0x465cec
mov cl, byte [esi + 4]
and cl, 0xc0
cmp cl, 0xc0
sete cl
jmp 0x465d32
cmp ebx, 1
jne 0x465d30
cmp byte [esi], 0xa0
jne 0x465d1b
cmp byte [esi + 1], 0x10
jne 0x465d1b
cmp byte [esi + 2], 0
jne 0x465d1b
cmp byte [esi + 3], 0
jne 0x465d1b
cmp byte [esi + 7], bl
jne 0x465d30
mov dl, byte [esi + 8]
and dl, 0x1f
cmp dl, bl
je 0x465d30
mov cl, bl
jmp 0x465d32
cmp byte [esi + 3], 1
jne 0x465d30
mov cl, byte [esi + 4]
and cl, 0x1f
cmp cl, 1
je 0x465d30
mov cl, 1
jmp 0x465d32
xor cl, cl
test eax, eax
movzx esi, cl
mov dword [ebp - 0x20], esi
jle 0x465eeb
cmp byte [edi + 0x2a8], 0
je 0x465df5
cmp dword [edi + 0x7d24], 0
je 0x465d9e
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.0047cd90
mov eax, dword [edi + 0x7d24]
add esp, 0xc
cmp dword [eax + 0x303c], 0
jne 0x465d97
mov esi, edi
call fcn.00446900
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 0x465dee
cmp dword [eax + 0x3034], 0x400
jae 0x465dee
lea ecx, [ebp - 0x4ec]
push 0x637a44
push ecx
call fcn.004e4d5c
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 0x465df5
or dword [edi + 0x2b0], 0x50
cmp byte [edi + 0x2a9], 0
je 0x465eeb
cmp dword [edi + 0x7d28], 0
je 0x465e56
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.0047cd90
mov ecx, dword [edi + 0x7d28]
add esp, 0xc
cmp dword [ecx + 0x303c], 0
jne 0x465e4f
mov esi, edi
call fcn.00446900
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 0x465e75
fadd dword [0x600558]
fild dword [edi + 0xd18]
fmul dword [edi + 0x78]
fcompp
fnstsw ax
test ah, 0x41
jp 0x465e91
or dword [edi + 0x2b0], 0x80
mov eax, dword [edi + 0x7d24]
add dword [ebp - 0xb0], 1
cmp dword [eax + 0x1c], 0x36ee80
ja 0x465ee1
cmp dword [eax + 0x3034], 0x400
jae 0x465ee1
lea edx, [ebp - 0x534]
push 0x637a44
push edx
call fcn.004e4d5c
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 0x465eeb
or dword [edi + 0x2b0], 0x80
cmp dword [edi + 0x7d30], 0
mov ebx, dword [ebp - 0xc4]
jle 0x4660e3
mov ecx, dword [ebp - 0xec]
mov eax, ebx
sub eax, ecx
cmp ebx, ecx
jae 0x465f11
add eax, 0x5265c00
cmp eax, 0x78
jbe 0x4660e3
cmp byte [ebp - 0x21], 0
mov dword [ebp - 0xec], ebx
je 0x465f4e
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 0x465f74
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 0x4660e3
cmp dword [ebp - 0x2c], 0
jle 0x4660e3
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + ecx*4 + 0x520]
test eax, eax
je 0x4660db
mov edx, dword [eax + 0xc]
cmp edx, dword [edi + 0x15c]
jne 0x4660db
mov edx, dword [eax + 0x10]
cmp edx, dword [edi + 0x160]
jne 0x4660db
mov edx, dword [eax + 0x14]
cmp edx, dword [edi + 0x164]
jne 0x4660db
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 0x5fbc3c
push 0xc8
lea eax, [ecx + eax + 0x2078]
push 0x5f4630
mov dword [ebp - 0x28], eax
add eax, 4
push 0x493e0
push eax
call fcn.004e7140
add esp, 0x1c
test esi, esi
mov ebx, eax
je 0x46609a
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.004f0e70
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 0x465fd2
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 0x462830
cmp byte [ebp - 0x21], 0
je 0x466126
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.00460670
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.004eaae0
mov eax, dword [ebp - 0x2e4]
add esp, 0xc
cmp eax, ebx
je 0x4661b0
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e400f
add esp, 4
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x4661c9
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e400f
add esp, 4
lea eax, [ebp - 0x42c]
call fcn.0048cb50
mov eax, dword [ebp - 0x3b4]
cmp eax, ebx
je 0x4661ed
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e400f
add esp, 4
lea eax, [ebp - 0x47c]
call fcn.0048cb50
mov esi, dword [edi + 0x7d24]
cmp esi, ebx
mov byte [edi + 0x2a8], bl
mov byte [edi + 0x2a9], bl
je 0x46622f
call fcn.0047cd30
mov eax, dword [edi + 0x7d24]
push eax
call fcn.004c5206
add esp, 4
mov esi, edi
mov dword [edi + 0x7d24], ebx
call fcn.00446900
mov esi, dword [edi + 0x7d28]
cmp esi, ebx
je 0x46625a
call fcn.0047cd30
mov eax, dword [edi + 0x7d28]
push eax
call fcn.004c5206
add esp, 4
mov esi, edi
mov dword [edi + 0x7d28], ebx
call fcn.00446900
mov ecx, dword [ebp - 0x74]
cmp ecx, ebx
je 0x466269
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [ebp - 0xa0]
cmp ecx, ebx
je 0x46627b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [ebp - 0x1c4]
cmp eax, ebx
je 0x466294
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e400f
add esp, 4
mov ecx, dword [ebp - 0xc8]
cmp ecx, ebx
je 0x4662a6
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [ebp - 0xe4]
cmp ecx, ebx
je 0x4662b8
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [ebp - 0x21c]
cmp eax, ebx
je 0x4662d1
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e400f
add esp, 4
mov eax, dword [ebp - 0x248]
cmp eax, ebx
je 0x4662ea
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e400f
add esp, 4
mov eax, dword [edi + 0xcac]
cmp eax, ebx
je 0x466303
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e400f
add esp, 4
mov eax, dword [ebp - 0x154]
cmp eax, ebx
je 0x46631c
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e400f
add esp, 4
mov eax, dword [ebp - 0x2e0]
cmp eax, ebx
je 0x466335
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e400f
add esp, 4
mov eax, dword [ebp - 0x2b4]
cmp eax, ebx
je 0x46634e
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e400f
add esp, 4
mov eax, dword [ebp - 0x198]
cmp eax, ebx
je 0x466367
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e400f
add esp, 4
mov edx, dword [ebp - 0x34]
push edx
call fcn.004c5206
mov eax, dword [ebp - 0x84]
add esp, 4
cmp eax, ebx
je 0x46638a
lea ecx, [edi + 0xa8]
push ecx
push eax
call fcn.0046e980
cmp dword [edi + 0x88], 0x120
ja 0x4663bb
cmp dword [edi + 0x84], 0x160
jbe 0x4663bb
mov eax, dword [ebp - 0x1f0]
cmp eax, ebx
je 0x4663bb
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e400f
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.00447d90
lea ecx, [ebp - 0xe0]
mov dword [ebp - 4], 0xffffffff
call fcn.004d502d
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