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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5150dd
mov eax, dword fs:[0]
push eax
sub esp, 0x4a0
push ebx
push esi
push edi
mov eax, dword [0x5566e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [0x5737f4]
xor edi, edi
lea esi, [ebp - 0x100]
mov byte [ebp - 0x1d], 0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xe4], edi
call fcn.004058c0
mov ebx, dword [ebp + 8]
mov esi, ebx
mov dword [ebp - 0x11c], 5
mov dword [ebp - 0x118], edi
mov dword [ebx + 0x298], 1
call fcn.0044b380
lea ecx, [ebp - 0x110]
call fcn.004d1d66
mov dword [ebp - 4], edi
cmp dword [ebx + 0x88], 0x120
mov dword [ebp - 0xb4], edi
ja 0x462667
cmp dword [ebx + 0x84], 0x160
jbe 0x462667
push 8
call fcn.004c1f9b
mov esi, eax
add esp, 4
mov dword [ebp - 0xa8], esi
cmp esi, edi
mov byte [ebp - 4], 1
je 0x46269e
mov edi, dword [ebx + 0x88]
add edi, edi
jmp 0x462687
push 8
call fcn.004c1f9b
mov esi, eax
add esp, 4
mov dword [ebp - 0xa8], esi
cmp esi, edi
mov byte [ebp - 4], 2
je 0x46269e
mov edi, dword [ebx + 0x88]
mov eax, dword [ebx + 0x84]
push 8
call fcn.0047c350
mov dword [esi], vtable.CJpegEncoder.0
xor edi, edi
jmp 0x4626a0
xor esi, esi
push 8
mov dword [ebp - 0xb0], esi
mov byte [ebp - 4], 0
call fcn.004c1f9b
mov esi, eax
add esp, 4
mov dword [ebp - 0xa8], esi
cmp esi, edi
mov byte [ebp - 4], 3
je 0x4626e1
mov edi, dword [ebx + 0x88]
mov eax, dword [ebx + 0x84]
push 0xd
call fcn.0047c350
mov dword [esi], vtable.CMpeg4Encoder.0
mov eax, esi
jmp 0x4626e3
xor eax, eax
mov ecx, dword [ebp - 0x80]
fnstcw word [ebp - 0x2a]
mov byte [ebp - 4], 0
mov dword [ebp - 0x78], eax
mov eax, dword [ecx + 0x68]
mov edx, eax
shl edx, 4
sub edx, eax
movzx eax, word [ebp - 0x2a]
add edx, edx
add edx, edx
mov dword [ebp - 0xa4], edx
or eax, 0xc00
push 0x2c
fild dword [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
lea esi, [ebx + 0xc9c]
push 0
fmul dword [ebx + 0x78]
push esi
fldcw word [ebp - 0xa4]
fistp qword [ebp - 0xf4]
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xa0], eax
fldcw word [ebp - 0x2a]
call fcn.004e9730
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x84]
add esp, 0xc
push ecx
push edx
push 4
mov ebx, esi
call fcn.0047bb60
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.004e9730
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
add esp, 0xc
push ecx
push edx
push 1
lea ebx, [ebp - 0x204]
call fcn.0047bb60
add esp, 0xc
push 0x2c
lea eax, [ebp - 0x25c]
push 0
push eax
call fcn.004e9730
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x84]
add esp, 0xc
push ecx
push edx
push 1
lea ebx, [ebp - 0x25c]
call fcn.0047bb60
add esp, 0xc
mov ecx, ebx
mov dword [ebp - 0x84], ecx
lea edi, [esi + 0xcc8]
lea eax, [ebp - 0x204]
mov ecx, 0xb
lea esi, [ebp - 0x204]
push 0x2c
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x384]
lea edx, [ebp - 0xc4]
lea eax, [ebp - 0xcc]
push 0
push ecx
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x90], eax
call fcn.004e9730
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
add esp, 0xc
push edx
add eax, eax
push eax
push 1
lea ebx, [ebp - 0x384]
call fcn.0047bb60
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0x358]
push 0
push ecx
call fcn.004e9730
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
add esp, 0xc
push edx
add eax, eax
push eax
push 1
lea ebx, [ebp - 0x358]
call fcn.0047bb60
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0x158]
push 0
push ecx
call fcn.004e9730
mov edx, dword [esi + 0x88]
mov eax, dword [esi + 0x84]
add esp, 0xc
push edx
push eax
push 1
lea ebx, [ebp - 0x158]
call fcn.0047bb60
add esp, 0xc
push 0x2c
lea ecx, [ebp - 0x230]
push 0
push ecx
mov dword [ebp - 0x6c], 0
call fcn.004e9730
mov eax, dword [esi + 0x88]
add esp, 0xc
cmp eax, 0x120
mov dword [ebp - 0xe0], 0xffffffff
ja 0x4628f3
mov ecx, dword [esi + 0x84]
cmp ecx, 0x160
jbe 0x4628f3
lea edx, [eax + eax]
push edx
push ecx
push 1
lea ebx, [ebp - 0x230]
call fcn.0047bb60
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 - 0xb8], eax
call fcn.004c1fc6
add esp, 4
mov dword [ebp - 0x68], eax
call fcn.0046cd40
mov edx, dword [esi + 0x84]
push esi
lea ecx, [esi + 0xa0]
push ecx
mov dword [ebp - 0x60], ecx
mov ecx, dword [esi + 0x88]
push ecx
push edx
mov dword [ebp - 0x94], eax
call fcn.0046d8f0
push 0x48
lea eax, [ebp - 0x3e8]
push 0
push eax
call fcn.004e9730
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x88]
add esp, 0xc
lea edi, [ebp - 0x3ec]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3e8], edx
call fcn.0048c6e0
push 0x48
lea eax, [ebp - 0x438]
push 0
push eax
call fcn.004e9730
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x88]
add ecx, ecx
add esp, 0xc
lea edi, [ebp - 0x43c]
mov dword [ebp - 0x43c], ecx
mov dword [ebp - 0x438], edx
call fcn.0048c6e0
push 0x64
lea eax, [ebp - 0x328]
push 0
push eax
call fcn.004e9730
mov ecx, dword [esi + 0x84]
mov edx, dword [esi + 0x88]
add esp, 0xc
lea esi, [ebp - 0x32c]
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x314], 0
mov dword [ebp - 0x310], 1
call fcn.0048cb80
push 0x64
lea eax, [ebp - 0x2c0]
push 0
push eax
call fcn.004e9730
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
add ecx, ecx
add esp, 0xc
lea esi, [ebp - 0x2c4]
mov dword [ebp - 0x2c4], ecx
mov dword [ebp - 0x2c0], edx
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2a8], 1
call fcn.0048cb80
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x88]
mov edx, eax
mov dword [ebp - 0x1ac], edx
mov dword [ebp - 0x1a8], ecx
add edx, 0x10
shr eax, 1
shr ecx, 1
push edx
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], ecx
call fcn.004e1009
add esp, 4
test eax, eax
je 0x462a9c
lea ecx, [eax + 0xf]
and ecx, 0xfffffff0
cmp ecx, eax
jne 0x462a93
add ecx, 0x10
mov dl, cl
sub dl, al
mov byte [ecx - 1], dl
jmp 0x462a9e
xor ecx, ecx
mov eax, dword [0x5737f0]
xor edi, edi
add eax, 0xe4
cmp dword [ebx + 0x7d80], edi
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x8c], eax
mov dword [ebx + 0xdbc], edi
mov byte [ebx + 0xdc0], 0
je 0x462af1
cmp dword [ebx + 0x84], 0x160
ja 0x462ae8
cmp dword [ebx + 0x190], edi
jne 0x462af1
cmp dword [ebx + 0x7cf4], 5
jae 0x462af1
mov dword [ebp - 0x7c], 1
jmp 0x462af4
mov dword [ebp - 0x7c], edi
mov cl, byte [ebp - 0x7c]
push 0x2c
lea edx, [ebp - 0x1d8]
push edi
push edx
mov byte [ebx + 0x7d84], cl
mov dword [ebp - 0x9c], edi
call fcn.004e9730
mov eax, dword [ebx + 0x84]
add esp, 0xc
cmp byte [ebp - 0x7c], 0
mov byte [ebp - 0x29], 0
mov dword [ebp - 0xa4], edi
jne 0x462b4e
mov ecx, dword [ebx + 0x88]
mov edx, dword [ebx + 0x7cf4]
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x94], ecx
mov dword [ebx + 0x98], edx
jmp 0x462c41
cmp eax, 0x160
jbe 0x462b5b
shr eax, 1
mov byte [ebp - 0x29], 1
mov dword [ebx + 0x90], eax
mov eax, dword [ebx + 0x88]
cmp eax, 0x120
jbe 0x462b74
shr eax, 1
or byte [ebp - 0x29], 2
mov dword [ebx + 0x94], eax
mov eax, dword [ebx + 0x7cf4]
cmp eax, 5
jae 0x462b91
mov dword [ebx + 0x98], 6
jmp 0x462b9f
cmp eax, 8
jae 0x462b99
add eax, 2
mov dword [ebx + 0x98], eax
push 8
call fcn.004c1f9b
mov esi, eax
add esp, 4
mov dword [ebp - 0xa8], esi
cmp esi, edi
mov byte [ebp - 4], 4
je 0x462bd6
mov edi, dword [ebx + 0x94]
mov eax, dword [ebx + 0x90]
push 0xd
call fcn.0047c350
mov dword [esi], vtable.CMpeg4Encoder.0
mov eax, esi
jmp 0x462bd8
xor eax, eax
mov byte [ebp - 4], 0
mov ecx, dword [eax + 4]
mov dword [ecx + 0x70], 7
mov edx, dword [eax + 4]
mov dword [edx + 0x74], 0x10
mov dword [ebp - 0x9c], eax
mov eax, dword [eax + 4]
mov dword [eax + 0x370], 0x1388
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x90]
push ecx
push edx
push 1
lea ebx, [ebp - 0x1d8]
call fcn.0047bb60
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
imul ecx, dword [eax + 0x94]
mov ebx, dword [ebp + 8]
lea eax, [ecx + ecx*2]
shr eax, 1
add esp, 0xc
mov dword [ebp - 0xa4], eax
xor edi, edi
mov esi, dword [ebx + 0x190]
lea eax, [esi + 1]
test eax, eax
mov dword [ebp - 0xa8], eax
fild dword [ebp - 0xa8]
jge 0x462c60
fadd qword [0x540f98]
fld qword [0x521b50]
fmul st(1)
fadd qword [0x540f58]
fdivrp st(1)
call fcn.004ebbf0
cmp eax, edi
mov dword [ebp - 0xf8], eax
jne 0x462c89
mov dword [ebp - 0xf8], 1
mov eax, dword [ebx + 0x7cf0]
cmp eax, 0xa
jge 0x462ca0
mov dword [ebp - 0xd0], 0x48bf70
jmp 0x462cca
cmp eax, 0x64
jne 0x462cb1
mov dword [ebp - 0xd0], 0x48bca0
jmp 0x462cca
xor ecx, ecx
cmp eax, 0x12c
setne cl
sub ecx, 1
and ecx, 0x48bf70
mov dword [ebp - 0xd0], ecx
cmp dword [ebx + 0x88], 0x120
jbe 0x462cdd
mov eax, 1
jmp 0x462ced
mov edx, 0x160
cmp edx, dword [ebx + 0x84]
sbb eax, eax
and eax, 2
mov ecx, dword [ebx + 0xd04]
mov edx, dword [ebx + 0x184]
push ecx
mov ecx, dword [ebx + 0x180]
push edx
mov edx, dword [ebx + 0x17c]
push ecx
mov ecx, dword [ebx + 0x178]
push edx
mov edx, dword [ebx + 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 [ebx + 0xd04]
push eax
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_StartChannel_int_]
add esp, 0x24
test eax, eax
jl 0x46603c
xor eax, eax
cmp dword [ebx + 0x7d78], eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0xd8], eax
je 0x462d77
cmp byte [ebx + 0x80c], al
je 0x462d77
push eax
push eax
push ebx
push 0x45da50
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebx + 0x7cfc], eax
mov ecx, dword [ebp - 0x60]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x94]
call fcn.0046dee0
lea esp, [esp]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebx + 0xd04]
mov eax, dword [ebp - 0xd4]
push ecx
mov ecx, dword [ebp - 0x1c]
push edx
mov edx, dword [ecx]
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 - 0x28], eax
jge 0x462dc9
mov dword [ebp - 4], 0
jmp 0x466024
mov eax, dword [ebx + 0x29c]
test al, 2
je 0x462ddc
and eax, 0xfffffffd
mov dword [ebx + 0x29c], eax
mov eax, dword [ebx + 0x29c]
test al, 8
je 0x463038
and eax, 0xfffffff7
xor edi, edi
cmp dword [ebp - 0xb4], edi
mov dword [ebx + 0x29c], eax
je 0x462e57
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 0x7c]
cmp dword [ecx - 0xc], edi
jne 0x462e0d
mov edi, 1
lea esi, [ebp - 0x444]
call fcn.004058c0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0xe8], ecx
sub ecx, dword [ebp - 0x100]
mov dword [ebp - 0xe4], eax
sbb eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x118]
jl 0x46302e
jg 0x462e4f
cmp ecx, dword [ebp - 0x11c]
jbe 0x46302e
test edi, edi
jne 0x46302e
mov eax, dword [ebx + 0x88]
cmp eax, 0x120
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x6c], esi
ja 0x462e9f
mov ecx, dword [ebx + 0x84]
cmp ecx, 0x160
jbe 0x462e9f
lea edx, [ebp - 0x230]
push edx
mov ebx, esi
call fcn.0048b4f0
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x230]
add esp, 4
mov dword [ebp - 0x210], 1
mov dword [ebp - 0x6c], eax
cmp byte [ebp - 0x1d], 0
je 0x462ecd
mov eax, dword [esi]
mov ecx, dword [ebp - 0x158]
push pe_nt_image_headers32
push 0x160
push eax
push ecx
call dword [0x5a15d4]
add esp, 0x10
emms
lea edx, [ebp - 0x158]
mov dword [ebp - 0x6c], edx
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push 0
push edx
mov edx, dword [ebp - 0x68]
push edx
mov edx, dword [ebp - 0x6c]
push edx
call eax
mov dword [ebp - 0x60], eax
call fcn.004c2ca4
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x462f08
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 - 0x24], eax
push ecx
mov byte [ebp - 4], 6
mov ecx, esp
mov dword [ebp - 0x74], esp
push 0x529b37
call fcn.0041aa20
lea ecx, [ebp - 0x120]
push ecx
push ebx
call fcn.0044a8b0
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 7
call fcn.00404e60
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x120]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x462f6b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 0x24]
push 0x53d840
push edi
call fcn.004e4a56
mov esi, eax
add esp, 8
test esi, esi
je 0x462f9e
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x68]
push esi
push ecx
push 1
push edx
call fcn.004e4b83
add esp, 0x10
push esi
call fcn.004e4c83
add esp, 4
cmp dword [ebp - 0xb4], 0
je 0x462ff6
call fcn.00477c20
push ecx
mov dword [ebp - 0x60], eax
lea eax, [edi - 0x10]
mov dword [ebp - 0x74], esp
mov esi, esp
push eax
call fcn.00405250
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov eax, dword [ebp - 0x80]
mov byte [ebp - 4], 8
mov eax, dword [eax + 0x7c]
push ecx
sub eax, 0x10
mov dword [ebp - 0x88], esp
mov esi, esp
push eax
call fcn.00405250
add eax, 0x10
mov dword [esi], eax
mov esi, dword [ebp - 0x60]
add esp, 4
mov byte [ebp - 4], 6
call fcn.00477f50
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
lea eax, [edi - 0x10]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], edx
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46302e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 0xb4], 0
mov eax, dword [ebx + 0x29c]
test al, al
jns 0x46309d
and eax, 0xffffff7f
cmp byte [ebx + 0x295], 0
mov dword [ebx + 0x29c], eax
mov dword [ebp - 0xd8], 0
je 0x463096
mov esi, dword [ebx + 0x7d38]
test esi, esi
je 0x46308f
call fcn.0047cc10
mov eax, dword [ebx + 0x7d38]
push eax
call fcn.004c1fcb
add esp, 4
mov esi, ebx
mov dword [ebx + 0x7d38], 0
call fcn.0044a030
mov byte [ebx + 0x295], 0
mov esi, ebx
call fcn.0044b380
mov eax, dword [ebx + 0x29c]
test al, 0x40
je 0x4630f6
and eax, 0xffffffbf
cmp byte [ebx + 0x294], 0
mov dword [ebx + 0x29c], eax
je 0x4630ef
mov esi, dword [ebx + 0x7d34]
test esi, esi
je 0x4630e8
call fcn.0047cc10
mov eax, dword [ebx + 0x7d34]
push eax
call fcn.004c1fcb
add esp, 4
mov esi, ebx
mov dword [ebx + 0x7d34], 0
call fcn.0044a030
mov byte [ebx + 0x294], 0
mov esi, ebx
call fcn.0044b380
mov eax, dword [ebx + 0x29c]
test al, 0x20
je 0x46322a
and eax, 0xffffffdf
cmp byte [ebx + 0x295], 0
mov dword [ebx + 0x29c], eax
mov dword [ebp - 0xd8], 1
jne 0x463219
mov esi, dword [ebx + 0x7d38]
test esi, esi
je 0x463153
call fcn.0047cc10
mov eax, dword [ebx + 0x7d38]
push eax
call fcn.004c1fcb
add esp, 4
mov esi, ebx
mov dword [ebx + 0x7d38], 0
call fcn.0044a030
push 0x2050
call fcn.004c1f9b
mov ecx, dword [ebx + 0x7cf4]
mov edx, dword [ebx + 0x190]
add esp, 4
push ecx
mov ecx, dword [ebx + 0x88]
add edx, 1
push edx
mov edx, dword [ebx + 0x84]
mov edi, eax
mov eax, dword [ebx + 0xd34]
push eax
push 0
push ecx
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push str.alarm_
mov dword [ebx + 0x7d38], edi
call fcn.0041aa20
push ebx
lea ecx, [ebp - 0x128]
call fcn.0044a2c0
mov esi, eax
mov byte [ebp - 4], 9
mov eax, dword [esi]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x4631c8
mov eax, dword [eax + 4]
push eax
mov ecx, esi
call fcn.00405430
mov esi, dword [esi]
push esi
mov esi, edi
call fcn.0047cb40
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x128]
add eax, 0xfffffff0
add esp, 0x1c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4631fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov dword [ebx + 0xdbc], 1
mov dword [ebp - 0xac], eax
mov dword [ebp - 0x7c], eax
mov byte [ebx + 0x295], 1
jmp 0x463223
mov dword [ebp - 0xac], 0
mov esi, ebx
call fcn.0044b380
mov eax, dword [ebx + 0x29c]
test al, 0x10
je 0x463430
and eax, 0xffffffef
cmp byte [ebx + 0x294], 0
mov dword [ebx + 0x29c], eax
jne 0x463429
lea esi, [ebp - 0xf4]
call fcn.004058c0
mov ecx, esi
push ecx
lea edx, [ebp - 0x4ac]
push edx
call fcn.004e1b1c
add esp, 8
test eax, eax
jne 0x463277
mov edi, dword [ebp - 0x4a8]
jmp 0x46327a
or edi, 0xffffffff
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x488]
push ecx
call fcn.004e1b1c
add esp, 8
test eax, eax
jne 0x4632fc
cmp dword [ebp - 0x480], 0x17
jne 0x4632fc
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + 0x68]
mov esi, 0x3c
sub esi, edi
cmp eax, esi
jle 0x4632cb
lea ecx, [ebp - 0xf4]
call fcn.00422cd0
mov ecx, esi
shl ecx, 4
sub ecx, esi
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x4632d9
mov edx, eax
shl edx, 4
sub edx, eax
add edx, edx
add edx, edx
mov dword [ebp - 0x24], edx
fld dword [ebx + 0x78]
fimul dword [ebp - 0x24]
fnstcw word [ebp - 0x16]
movzx eax, word [ebp - 0x16]
or eax, 0xc00
mov dword [ebp - 0x60], eax
fldcw word [ebp - 0x60]
fistp qword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
fldcw word [ebp - 0x16]
jmp 0x463331
mov ecx, dword [ebp - 0x80]
fnstcw word [ebp - 0x16]
mov eax, dword [ecx + 0x68]
mov edx, eax
shl edx, 4
sub edx, eax
movzx eax, word [ebp - 0x16]
add edx, edx
add edx, edx
mov dword [ebp - 0x60], edx
or eax, 0xc00
fild dword [ebp - 0x60]
mov dword [ebp - 0x60], eax
fmul dword [ebx + 0x78]
fldcw word [ebp - 0x60]
fistp qword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
fldcw word [ebp - 0x16]
mov esi, dword [ebx + 0x7d34]
test esi, esi
mov dword [ebp - 0xa0], eax
je 0x463366
call fcn.0047cc10
mov eax, dword [ebx + 0x7d34]
push eax
call fcn.004c1fcb
add esp, 4
mov esi, ebx
mov dword [ebx + 0x7d34], 0
call fcn.0044a030
push 0x2050
call fcn.004c1f9b
mov ecx, dword [ebx + 0x7cf4]
mov edx, dword [ebx + 0x190]
add esp, 4
push ecx
mov ecx, dword [ebx + 0x88]
add edx, 1
push edx
mov edx, dword [ebx + 0x84]
mov edi, eax
mov eax, dword [ebx + 0xd34]
push eax
push 0
push ecx
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x60], esp
push 0x529b37
mov dword [ebx + 0x7d34], edi
call fcn.0041aa20
push ebx
lea ecx, [ebp - 0x114]
call fcn.0044a2c0
mov esi, eax
mov byte [ebp - 4], 0xa
mov eax, dword [esi]
sub eax, 0x10
cmp dword [eax + 0xc], 1
jle 0x4633db
mov eax, dword [eax + 4]
push eax
mov ecx, esi
call fcn.00405430
mov esi, dword [esi]
push esi
mov esi, edi
call fcn.0047cb40
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x114]
add eax, 0xfffffff0
add esp, 0x1c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x46340e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebx + 0xdbc], 1
mov dword [ebp - 0x98], 0
mov byte [ebx + 0x294], 1
mov esi, ebx
call fcn.0044b380
cmp dword [ebx + 0x7d7c], 0
je 0x46349f
cmp dword [ebp - 0xd8], 0
je 0x463490
mov edx, dword [ebp - 0xe0]
lea ecx, [ebp - 0xdc]
push ecx
mov esi, 1
push edx
mov dword [ebp - 0xdc], esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeThread]
cmp dword [ebp - 0xdc], esi
jne 0x46349f
push 0
push 0
push 0
push 0x4624e0
push 0
push 0
mov dword [ebp - 0xdc], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xe0], eax
jmp 0x46349f
push 1
push 0
push 0x529b37
call dword [sym.imp.WINMM.dll_PlaySoundA]
mov eax, dword [ebp - 0x28]
cmp eax, 1
jne 0x4634b2
lea ecx, [ebx + 0xa0]
jmp 0x462d7e
cmp eax, 2
jne 0x463502
cmp byte [ebp - 0x1d], 0
jne 0x46354a
mov ecx, dword [ebx + 0x88]
mov edi, dword [ebx + 0x84]
lea eax, [ebx + 0xa0]
mov ebx, dword [ebp - 0x94]
push ecx
add edi, edi
mov byte [ebp - 0x1d], 1
call fcn.0046dc30
mov ebx, dword [ebp + 8]
lea edx, [ebp - 0x384]
lea eax, [ebp - 0x358]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x84], eax
jmp 0x462d90
test eax, eax
jne 0x46354a
cmp byte [ebp - 0x1d], 1
jne 0x46354a
mov ecx, dword [ebx + 0x88]
mov edi, dword [ebx + 0x84]
mov byte [ebp - 0x1d], al
lea eax, [ebx + 0xa0]
mov ebx, dword [ebp - 0x94]
push ecx
call fcn.0046dc30
mov ebx, dword [ebp + 8]
lea edx, [ebp - 0x204]
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x84], eax
jmp 0x462d90
mov esi, dword [ebp - 0x1c]
add dword [ebp - 0x70], 1
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov edi, 0x160
cmp dword [ebx + 0x7c], edi
mov dword [ebx + 0xcc8], eax
mov dword [ebx + 0xccc], ecx
mov dword [ebx + 0xcd0], edx
jbe 0x4635c1
mov ecx, dword [ebx + 0x84]
add ecx, ecx
add ecx, ecx
add ecx, ecx
push ecx
push 0
push eax
call fcn.004e9730
mov edx, dword [ebx + 0x84]
mov eax, dword [ebx + 0xccc]
add esp, 0xc
add edx, edx
push edx
push 0x7f
push eax
call fcn.004e9730
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebx + 0xcd0]
add esp, 0xc
add ecx, ecx
push ecx
push 0x7f
push edx
call fcn.004e9730
add esp, 0xc
cmp dword [ebx + 0x88], 0x120
jbe 0x4635e3
cmp dword [ebx + 0x1b8], 0
je 0x4635e3
mov eax, dword [esi]
lea esi, [ebp - 0x1ac]
call fcn.0048b780
cmp byte [ebp - 0x1d], 0
jne 0x464681
cmp dword [ebx + 0xdcc], 0
je 0x463953
mov eax, dword [ebx + 0x88]
cmp eax, 0x120
ja 0x463847
cmp dword [ebx + 0x84], edi
ja 0x463723
cmp dword [ebx + 0xd24], 0
jle 0x463953
mov eax, dword [ebx + 0xd24]
mov esi, dword [ebx + 0xd2c]
cdq
sub eax, edx
mov edi, eax
mov eax, esi
sub esi, dword [ebx + 0xd24]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebx + 0xd28]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebx + 0xd30]
cdq
sar edi, 1
sar ecx, 1
sub eax, edx
add esi, 1
sar eax, 1
sub ecx, edi
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [ebx + 0xd28]
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x24], ecx
lea esp, [esp]
cmp esi, dword [ebx + 0xd30]
jg 0x4636b0
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
imul ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, dword [edx]
push eax
add ecx, dword [ebx + 0xd24]
push 0x23
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x463680
mov esi, dword [ebp - 0x184]
cmp esi, dword [ebp - 0x17c]
jg 0x4636e8
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
shr ecx, 1
imul ecx, esi
add ecx, dword [edx + 4]
push eax
add ecx, edi
push 0xd4
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4636b6
mov esi, dword [ebp - 0x184]
mov edi, edi
cmp esi, dword [ebp - 0x17c]
jg 0x463953
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
shr ecx, 1
imul ecx, esi
add ecx, dword [edx + 8]
push eax
add ecx, edi
push 0x72
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4636f0
cmp eax, 0x120
ja 0x463847
cmp dword [ebx + 0x84], 0x2c0
ja 0x463847
cmp dword [ebx + 0xd24], 0
jle 0x463953
mov eax, dword [ebx + 0xd24]
mov ecx, dword [ebx + 0xd2c]
lea edi, [eax + eax]
mov eax, dword [ebx + 0xd28]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x194], eax
mov eax, dword [ebx + 0xd30]
lea esi, [ecx + ecx]
sub ecx, dword [ebx + 0xd24]
cdq
sub esi, edi
sub eax, edx
add esi, 1
sar eax, 1
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [ebx + 0xd28]
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x24], ecx
lea esp, [esp]
cmp esi, dword [ebx + 0xd30]
jg 0x4637cc
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
imul ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, dword [edx]
push eax
add ecx, edi
push 0x23
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4637a0
mov esi, dword [ebp - 0x194]
cmp esi, dword [ebp - 0x18c]
jg 0x463808
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 4]
push 0xd4
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4637d2
mov esi, dword [ebp - 0x194]
mov edi, edi
cmp esi, dword [ebp - 0x18c]
jg 0x463953
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 8]
push 0x72
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x463810
cmp eax, 0x240
ja 0x463953
cmp dword [ebx + 0x84], 0x2c0
ja 0x463953
mov eax, dword [ebx + 0xd24]
test eax, eax
jle 0x463953
mov edx, dword [ebx + 0xd28]
mov esi, dword [ebx + 0xd30]
lea edi, [eax + eax]
mov eax, dword [ebx + 0xd2c]
lea ecx, [eax + eax]
sub eax, dword [ebx + 0xd24]
sub ecx, edi
add esi, esi
add edx, edx
add ecx, 1
add eax, 1
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
mov esi, edx
cmp esi, dword [ebp - 0x448]
jg 0x4638d4
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
imul ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, dword [edx]
push eax
add ecx, edi
push 0x23
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4638a8
mov esi, dword [ebx + 0xd28]
lea ebx, [ebx]
cmp esi, dword [ebx + 0xd30]
jg 0x463916
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 4]
push 0xd4
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4638e0
mov esi, dword [ebx + 0xd28]
lea esp, [esp]
cmp esi, dword [ebx + 0xd30]
jg 0x463953
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 8]
push 0x72
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x463920
cmp byte [ebx + 0x808], 1
jne 0x463aec
mov eax, dword [ebp - 0x70]
xor edx, edx
div dword [ebp - 0xf8]
test edx, edx
jne 0x463aec
mov eax, dword [ebx + 0xd0c]
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x314], 1
jne 0x463995
mov dword [ebp - 0x308], 4
jmp 0x4639b5
cmp eax, 1
jne 0x4639a6
mov dword [ebp - 0x308], 0x14
jmp 0x4639b5
cmp eax, 2
jne 0x4639b5
mov dword [ebp - 0x308], 0x64
mov edx, dword [ebx + 0xd18]
mov esi, dword [ebx + 0xd10]
cmp edx, esi
jle 0x463a7d
mov eax, dword [ebx + 0xd1c]
mov ecx, dword [ebx + 0xd14]
cmp eax, ecx
jle 0x463a7d
mov edi, dword [ebx + 0x88]
cmp edi, 0x120
ja 0x463a46
cmp dword [ebx + 0x84], 0x160
ja 0x463a14
mov dword [ebp - 0x304], esi
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], eax
jmp 0x463aa1
cmp edi, 0x120
ja 0x463a46
cmp dword [ebx + 0x84], 0x2c0
ja 0x463a46
add esi, esi
add edx, edx
mov dword [ebp - 0x304], esi
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], eax
jmp 0x463aa1
cmp edi, 0x240
ja 0x463aa1
cmp dword [ebx + 0x84], 0x2c0
ja 0x463aa1
add edx, edx
add esi, esi
mov dword [ebp - 0x300], edx
add ecx, ecx
lea edx, [eax + eax]
mov dword [ebp - 0x304], esi
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], edx
jmp 0x463aa1
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x88]
mov dword [ebp - 0x304], edi
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2fc], edi
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x1c]
push edx
lea eax, [ebp - 0x32c]
push eax
call fcn.0048c7f0
mov ecx, dword [ebp - 0x30c]
add esp, 8
cmp ecx, dword [ebp - 0x308]
jle 0x463aec
cmp byte [ebx + 0x808], 0
je 0x463ad2
or dword [ebx + 0x29c], 0x20
mov eax, 1
cmp dword [ebx + 0xd20], eax
jne 0x463aec
or dword [ebx + 0x29c], 8
mov dword [ebp - 0xb4], eax
cmp dword [ebx + 0x1a8], 1
jne 0x463b0d
mov edx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x1c]
push edx
lea edi, [ebp - 0x3ec]
call fcn.0048c680
add esp, 4
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x24], 0
je 0x464421
call fcn.004c2ca4
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x463b34
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 - 0x88], eax
lea esi, [ebp - 0x394]
mov byte [ebp - 4], 0xb
call fcn.004058c0
mov ecx, esi
push ecx
mov esi, str._y__m__d__H:_M:_S
lea edi, [ebp - 0x12c]
call fcn.00405a40
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xc
call fcn.00404e60
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x12c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x463b9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx - 0xc]
xor edi, edi
mov dword [ebp - 0x28], edx
xor eax, eax
cmp eax, dword [ebp - 0x28]
mov esi, 0x2c0
jge 0x464401
cmp eax, edi
jl 0x4643f7
cmp eax, dword [ecx - 0xc]
jg 0x4643f7
mov edx, dword [ebx + 0x88]
cmp edx, 0x240
mov cl, byte [eax + ecx]
jne 0x463d2f
cmp dword [ebx + 0x84], esi
jne 0x463d2f
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463c04.33
movzx ecx, byte [ecx + 0x4664bc]
jmp dword [ecx*4 + 0x466484]
mov dword [ebp - 0x34], 0x570468
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x570768
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56dee8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56cda8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56d9a8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56d6a8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56fda8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56e5a8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56d228
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x5700a8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56f928
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56caa8
jmp case.0x463c04.33
mov dword [ebp - 0x34], 0x56f4a8
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx edi, byte [edx + esi + 0x389a]
movzx ecx, byte [edx + esi + 0x38a9]
add ecx, edi
movzx edi, byte [edx + esi + 0xb9e9]
movzx edx, byte [edx + esi + 0xb9da]
add ecx, edi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x463cc4
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x463cde
cmp ecx, 0x60
jge 0x463cd7
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x463cde
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
cmp edi, 0x30
jge 0x4643e7
xor esi, esi
mov edi, edi
cmp esi, 0x10
jge 0x463d2a
mov ecx, dword [ebp - 0x34]
mov edx, edi
shl edx, 4
add edx, esi
cmp byte [edx + ecx], 0
je 0x463d25
lea edx, [edi + 0x14]
imul edx, dword [ebx + 0x84]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x19a], cl
add esi, 1
jmp 0x463cf0
add edi, 1
jmp 0x463ce3
cmp edx, 0x120
jne 0x463fd8
cmp dword [ebx + 0x84], esi
jne 0x463e8b
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463d5d.33
movzx edx, byte [ecx + 0x466510]
jmp dword [edx*4 + 0x4664d8]
mov dword [ebp - 0x5c], 0x56f328
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56ef68
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56fc28
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56ede8
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56f1a8
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56ea28
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56c928
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56e2a8
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56e8a8
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56dd68
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56f7a8
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56ec68
jmp case.0x463d5d.33
mov dword [ebp - 0x5c], 0x56d0a8
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
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 0x463e29
mov dword [ebp - 0x18], edi
mov dword [ebx + eax*4 + 0x818], edi
jmp 0x463e46
cmp ecx, 0x60
jge 0x463e3c
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x463e43
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
cmp edi, 0x30
jge 0x4643e7
xor esi, esi
cmp esi, 8
jge 0x463e86
mov ecx, dword [ebp - 0x5c]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x463e81
lea edx, [edi + 0xc]
imul edx, dword [ebx + 0x84]
lea ecx, [eax + eax*2]
lea edx, [edx + ecx*4]
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x1cc], cl
add esi, 1
jmp 0x463e51
add edi, 1
jmp 0x463e46
cmp edx, 0x120
jne 0x463fd8
cmp dword [ebx + 0x84], 0x160
jne 0x463fd8
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x463ebd.33
movzx edx, byte [ecx + 0x466564]
jmp dword [edx*4 + 0x46652c]
mov dword [ebp - 0x50], 0x56eba8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x570be8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56f0e8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56d5e8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56dca8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x570b28
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56e4e8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56c868
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x5703a8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56e428
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56e1e8
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x570a68
jmp case.0x463ebd.33
mov dword [ebp - 0x50], 0x56d528
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
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 0x463f79
mov dword [ebp - 0x18], edi
mov dword [ebx + eax*4 + 0x818], edi
jmp 0x463f96
cmp ecx, 0x60
jge 0x463f8c
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x463f93
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
cmp edi, 0x18
jge 0x4643e7
xor esi, esi
cmp esi, 8
jge 0x463fd3
mov ecx, dword [ebp - 0x50]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x463fce
lea edx, [edi + 5]
imul edx, dword [ebx + 0x84]
lea ecx, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
add ecx, dword [edx]
mov dl, byte [ebp - 0x18]
mov byte [ecx + esi + 0xcd], dl
add esi, 1
jmp 0x463fa1
add edi, 1
jmp 0x463f96
cmp edx, 0x1e0
jne 0x46413f
cmp dword [ebx + 0x84], 0x280
jne 0x46413f
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x46400a.33
movzx ecx, byte [ecx + 0x4665b8]
jmp dword [ecx*4 + 0x466580]
mov dword [ebp - 0x54], 0x570468
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x570768
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56dee8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56cda8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56d9a8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56d6a8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56fda8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56e5a8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56d228
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x5700a8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56f928
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56caa8
jmp case.0x46400a.33
mov dword [ebp - 0x54], 0x56f4a8
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx edi, byte [edx + esi + 0x3354]
movzx ecx, byte [edx + esi + 0x3363]
add ecx, edi
movzx edi, byte [edx + esi + 0xa8e3]
movzx edx, byte [edx + esi + 0xa8d4]
add ecx, edi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x4640ca
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x4640e4
cmp ecx, 0x60
jge 0x4640dd
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x4640e4
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
lea esp, [esp]
cmp edi, 0x30
jge 0x4643e7
xor esi, esi
jmp 0x464100
cmp esi, 0x10
jge 0x46413a
mov ecx, dword [ebp - 0x54]
mov edx, edi
shl edx, 4
add edx, esi
cmp byte [edx + ecx], 0
je 0x464135
lea edx, [edi + 0x14]
imul edx, dword [ebx + 0x84]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x154], cl
add esi, 1
jmp 0x464100
add edi, 1
jmp 0x4640f0
cmp edx, 0xf0
jne 0x4643e7
cmp dword [ebx + 0x84], 0x280
jne 0x46429a
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464171.33
movzx edx, byte [ecx + 0x46660c]
jmp dword [edx*4 + 0x4665d4]
mov dword [ebp - 0x3c], 0x56f328
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56ef68
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56fc28
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56ede8
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56f1a8
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56ea28
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56c928
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56e2a8
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56e8a8
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56dd68
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56f7a8
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56ec68
jmp case.0x464171.33
mov dword [ebp - 0x3c], 0x56d0a8
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx]
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
movzx edi, byte [edx + esi + 0x1a90]
movzx ecx, byte [edx + esi + 0x1a97]
add ecx, edi
movzx edi, byte [edx + esi + 0x9017]
movzx edx, byte [edx + esi + 0x9010]
add ecx, edi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x464233
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x46424d
cmp ecx, 0x60
jge 0x464246
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x46424d
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
cmp edi, 0x30
jge 0x4643e7
xor esi, esi
lea ecx, [ecx]
cmp esi, 8
jge 0x464295
mov ecx, dword [ebp - 0x3c]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x464290
lea edx, [edi + 0xa]
imul edx, dword [ebx + 0x84]
lea ecx, [eax + eax*2]
lea edx, [edx + ecx*4]
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x190], cl
add esi, 1
jmp 0x464260
add edi, 1
jmp 0x464252
cmp edx, 0xf0
jne 0x4643e7
cmp dword [ebx + 0x84], 0x140
jne 0x4643e7
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x4642cc.33
movzx edx, byte [ecx + 0x466660]
jmp dword [edx*4 + 0x466628]
mov dword [ebp - 0x4c], 0x56eba8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x570be8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56f0e8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56d5e8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56dca8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x570b28
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56e4e8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56c868
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x5703a8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56e428
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56e1e8
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x570a68
jmp case.0x4642cc.33
mov dword [ebp - 0x4c], 0x56d528
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
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 0x464387
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x4643a1
cmp ecx, 0x60
jge 0x46439a
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x4643a1
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
cmp edi, 0x18
jge 0x4643e7
xor esi, esi
lea ecx, [ecx]
cmp esi, 8
jge 0x4643e2
mov ecx, dword [ebp - 0x4c]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x4643dd
lea edx, [edi + 5]
imul edx, dword [ebx + 0x84]
lea ecx, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
add ecx, dword [edx]
mov dl, byte [ebp - 0x18]
mov byte [ecx + esi + 0xaf], dl
add esi, 1
jmp 0x4643b0
add edi, 1
jmp 0x4643a6
mov ecx, dword [ebp - 0x88]
add eax, 1
xor edi, edi
jmp 0x463bae
push 0x80070057
call fcn.00404150
lea eax, [ecx - 0x10]
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x464421
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x28], 0
mov esi, dword [ebp - 0x1c]
je 0x464659
mov ecx, dword [ebx + 0x88]
cmp ecx, 0x120
jbe 0x464501
mov eax, dword [ebx + 0x84]
cmp eax, 0x160
jbe 0x4644f5
mov ecx, dword [esi]
mov edx, eax
imul edx, edx, 0x43
movzx edi, byte [edx + ecx + 0x173]
lea eax, [eax + eax*4]
add edx, ecx
movzx edx, byte [edx + 0x14]
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x173]
movzx ecx, byte [ecx + 0x14]
add eax, edi
add eax, ecx
add eax, edx
sar eax, 2
cmp eax, 0xd0
jle 0x464494
xor ecx, ecx
mov dword [ebx + 0x878], ecx
jmp 0x4644ac
cmp eax, 0x60
jge 0x4644a6
mov ecx, 0xff
mov dword [ebx + 0x878], ecx
jmp 0x4644ac
mov ecx, dword [ebx + 0x878]
xor edi, edi
mov edi, edi
cmp edi, 0x30
jge 0x464659
xor eax, eax
jmp 0x4644c0
cmp eax, 0x160
jge 0x4644f0
mov edx, edi
imul edx, edx, 0x160
add edx, eax
cmp byte [edx + ebx + 0x3ad0], 0
je 0x4644eb
lea edx, [edi + 0x14]
imul edx, dword [ebx + 0x84]
add edx, dword [esi]
mov byte [edx + eax + 0x14], cl
add eax, 1
jmp 0x4644c0
add edi, 1
jmp 0x4644b0
cmp ecx, 0x120
ja 0x4645b5
mov eax, dword [ebx + 0x84]
cmp eax, 0x160
jbe 0x4645b5
mov ecx, dword [esi]
mov edx, eax
imul edx, edx, 0x23
movzx edi, byte [edx + ecx + 0x16e]
lea eax, [eax + eax*2]
add edx, ecx
movzx edx, byte [edx + 0xf]
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x16e]
movzx ecx, byte [ecx + 0xf]
add eax, edi
add eax, ecx
add eax, edx
sar eax, 2
cmp eax, 0xd0
jle 0x464552
xor ecx, ecx
mov dword [ebx + 0x878], ecx
jmp 0x46456a
cmp eax, 0x60
jge 0x464564
mov ecx, 0xff
mov dword [ebx + 0x878], ecx
jmp 0x46456a
mov ecx, dword [ebx + 0x878]
xor edi, edi
lea esp, [esp]
cmp edi, 0x18
jge 0x464659
xor eax, eax
jmp 0x464580
cmp eax, 0x160
jge 0x4645b0
mov edx, edi
imul edx, edx, 0x160
add edx, eax
cmp byte [edx + ebx + 0x19d0], 0
je 0x4645ab
lea edx, [edi + 0xc]
imul edx, dword [ebx + 0x84]
add edx, dword [esi]
mov byte [edx + eax + 0xf], cl
add eax, 1
jmp 0x464580
add edi, 1
jmp 0x464570
mov ecx, dword [ebx + 0x84]
mov edx, dword [esi]
lea eax, [ecx*8]
sub eax, ecx
lea edi, [edx + eax*4]
lea eax, [edx + ecx*4 + 8]
movzx eax, byte [ecx + eax + 2]
lea edx, [edx + ecx*4]
movzx ecx, byte [ecx + edx + 0x89]
movzx edx, byte [edi + 0x89]
add eax, ecx
movzx ecx, byte [edi + 0xa]
add eax, edx
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x464602
xor ecx, ecx
mov dword [ebx + 0x878], ecx
jmp 0x46461a
cmp eax, 0x60
jge 0x464614
mov ecx, 0xff
mov dword [ebx + 0x878], ecx
jmp 0x46461a
mov ecx, dword [ebx + 0x878]
xor edi, edi
lea esp, [esp]
cmp edi, 0x18
jge 0x464659
xor eax, eax
cmp eax, 0x80
jge 0x464654
mov edx, edi
shl edx, 7
add edx, eax
cmp byte [edx + ebx + 0xdd0], 0
je 0x46464f
lea edx, [edi + 5]
imul edx, dword [ebx + 0x84]
add edx, dword [esi]
mov byte [edx + eax + 0xa], cl
add eax, 1
jmp 0x464627
add edi, 1
jmp 0x464620
cmp dword [ebx + 0x18c], 0
je 0x4656fe
add ebx, 0xa0
push ebx
mov ebx, dword [ebp - 0x94]
push esi
call fcn.0046dcb0
mov ebx, dword [ebp + 8]
jmp 0x4656fe
shl dword [ebx + 0x84], 1
cmp dword [ebx + 0xdcc], 0
mov ecx, dword [ebx + 0x84]
je 0x4649e3
mov eax, dword [ebx + 0x88]
cmp eax, 0x120
ja 0x4648da
cmp ecx, edi
ja 0x4647c3
cmp dword [ebx + 0xd24], 0
jle 0x4649e3
mov eax, dword [ebx + 0xd24]
mov esi, dword [ebx + 0xd2c]
cdq
sub eax, edx
mov edi, eax
mov eax, esi
sub esi, dword [ebx + 0xd24]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebx + 0xd28]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x164], eax
mov eax, dword [ebx + 0xd30]
cdq
sar edi, 1
sar ecx, 1
sub eax, edx
add esi, 1
sar eax, 1
sub ecx, edi
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [ebx + 0xd28]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x24], ecx
cmp esi, dword [ebx + 0xd30]
jg 0x464748
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
imul ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, dword [edx]
push eax
add ecx, dword [ebx + 0xd24]
push 0x23
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x464718
mov esi, dword [ebp - 0x164]
mov edi, edi
cmp esi, dword [ebp - 0x15c]
jg 0x464782
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
shr ecx, 1
imul ecx, esi
add ecx, dword [edx + 4]
push eax
add ecx, edi
push 0xd4
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x464750
mov esi, dword [ebp - 0x164]
jmp 0x464790
cmp esi, dword [ebp - 0x15c]
jg 0x4649e3
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
shr ecx, 1
imul ecx, esi
add ecx, dword [edx + 8]
push eax
add ecx, edi
push 0x72
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x464790
cmp eax, 0x120
ja 0x4648da
cmp ecx, 0x2c0
ja 0x4648da
cmp dword [ebx + 0xd24], 0
jle 0x4649e3
mov eax, dword [ebx + 0xd24]
mov ecx, dword [ebx + 0xd2c]
lea edi, [eax + eax]
mov eax, dword [ebx + 0xd28]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x174], eax
mov eax, dword [ebx + 0xd30]
lea esi, [ecx + ecx]
sub ecx, dword [ebx + 0xd24]
cdq
sub esi, edi
sub eax, edx
add esi, 1
sar eax, 1
add ecx, 1
mov dword [ebp - 0x28], esi
mov esi, dword [ebx + 0xd28]
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x24], ecx
cmp esi, dword [ebx + 0xd30]
jg 0x464861
mov ecx, dword [ebx + 0x84]
mov edx, dword [ebp - 0x1c]
imul ecx, esi
mov eax, dword [ebp - 0x28]
add ecx, dword [edx]
push eax
add ecx, edi
push 0x23
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x464835
mov esi, dword [ebp - 0x174]
cmp esi, dword [ebp - 0x16c]
jg 0x46489d
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 4]
push 0xd4
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x464867
mov esi, dword [ebp - 0x174]
cmp esi, dword [ebp - 0x16c]
jg 0x4649e3
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 8]
push 0x72
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4648a3
cmp eax, 0x240
ja 0x4649e3
cmp ecx, 0x2c0
ja 0x4649e3
mov eax, dword [ebx + 0xd24]
test eax, eax
jle 0x4649e3
mov edx, dword [ebx + 0xd28]
mov esi, dword [ebx + 0xd30]
lea edi, [eax + eax]
mov eax, dword [ebx + 0xd2c]
lea ecx, [eax + eax]
sub eax, dword [ebx + 0xd24]
sub ecx, edi
add esi, esi
add edx, edx
add ecx, 1
add eax, 1
mov dword [ebp - 0x458], esi
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
mov esi, edx
cmp esi, dword [ebp - 0x458]
jg 0x464963
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x28]
imul ecx, esi
mov edx, dword [ebp - 0x1c]
push eax
add ecx, edi
add ecx, dword [edx]
push 0x23
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x464937
mov esi, dword [ebx + 0xd28]
lea esp, [esp]
cmp esi, dword [ebx + 0xd30]
jg 0x4649a6
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 4]
push 0xd4
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x464970
mov esi, dword [ebx + 0xd28]
lea esp, [esp]
cmp esi, dword [ebx + 0xd30]
jg 0x4649e3
mov ecx, dword [ebx + 0x84]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
shr ecx, 1
imul ecx, esi
add ecx, dword [ebx + 0xd24]
push eax
add ecx, dword [edx + 8]
push 0x72
push ecx
call fcn.004e9730
add esp, 0xc
add esi, 1
jmp 0x4649b0
cmp byte [ebx + 0x808], 1
jne 0x464b80
mov ecx, dword [ebp - 0x70]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
jne 0x464b80
mov eax, dword [ebx + 0xd0c]
xor edi, edi
cmp eax, edi
mov dword [ebp - 0x2ac], 1
jne 0x464a29
mov dword [ebp - 0x2a0], 4
jmp 0x464a49
cmp eax, 1
jne 0x464a3a
mov dword [ebp - 0x2a0], 0x14
jmp 0x464a49
cmp eax, 2
jne 0x464a49
mov dword [ebp - 0x2a0], 0x64
mov edx, dword [ebx + 0xd18]
mov esi, dword [ebx + 0xd10]
cmp edx, esi
jle 0x464b11
mov eax, dword [ebx + 0xd1c]
mov ecx, dword [ebx + 0xd14]
cmp eax, ecx
jle 0x464b11
mov edi, dword [ebx + 0x88]
cmp edi, 0x120
ja 0x464ada
cmp dword [ebx + 0x84], 0x160
ja 0x464aa8
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], eax
jmp 0x464b35
cmp edi, 0x120
ja 0x464ada
cmp dword [ebx + 0x84], 0x2c0
ja 0x464ada
add esi, esi
add edx, edx
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x298], edx
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], eax
jmp 0x464b35
cmp edi, 0x240
ja 0x464b35
cmp dword [ebx + 0x84], 0x2c0
ja 0x464b35
add edx, edx
add esi, esi
mov dword [ebp - 0x298], edx
add ecx, ecx
lea edx, [eax + eax]
mov dword [ebp - 0x29c], esi
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], edx
jmp 0x464b35
mov eax, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x88]
mov dword [ebp - 0x29c], edi
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], edi
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x1c]
push edx
lea eax, [ebp - 0x2c4]
push eax
call fcn.0048c7f0
mov ecx, dword [ebp - 0x2a4]
add esp, 8
cmp ecx, dword [ebp - 0x2a0]
jle 0x464b80
cmp byte [ebx + 0x808], 0
je 0x464b66
or dword [ebx + 0x29c], 0x20
mov eax, 1
cmp dword [ebx + 0xd20], eax
jne 0x464b80
or dword [ebx + 0x29c], 8
mov dword [ebp - 0xb4], eax
cmp dword [ebx + 0x1a8], 1
jne 0x464ba1
mov edx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x1c]
push edx
lea edi, [ebp - 0x43c]
call fcn.0048c680
add esp, 4
mov eax, dword [ebp - 0x80]
cmp dword [eax + 0x24], 0
je 0x4654a4
call fcn.004c2ca4
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x464bc8
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 - 0x74], eax
lea esi, [ebp - 0x38c]
mov byte [ebp - 4], 0xd
call fcn.004058c0
mov ecx, esi
push ecx
mov esi, str._y__m__d__H:_M:_S
lea edi, [ebp - 0x124]
call fcn.00405a40
push eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xe
call fcn.00404e60
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x124]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x464c2c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx - 0xc]
xor edi, edi
mov dword [ebp - 0x28], edx
xor eax, eax
cmp eax, dword [ebp - 0x28]
mov esi, 0x2c0
jge 0x465484
cmp eax, edi
jl 0x4643f7
cmp eax, dword [ecx - 0xc]
jg 0x4643f7
mov edx, dword [ebx + 0x88]
cmp edx, 0x240
mov cl, byte [ecx + eax]
jne 0x464dbf
cmp dword [ebx + 0x84], esi
jne 0x464dbf
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464c8f.33
movzx ecx, byte [ecx + 0x4666b4]
jmp dword [ecx*4 + 0x46667c]
mov dword [ebp - 0x44], 0x570468
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x570768
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56dee8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56cda8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56d9a8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56d6a8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56fda8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56e5a8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56d228
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x5700a8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56f928
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56caa8
jmp case.0x464c8f.33
mov dword [ebp - 0x44], 0x56f4a8
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx edi, byte [edx + esi + 0x389a]
movzx ecx, byte [edx + esi + 0x38a9]
add ecx, edi
movzx edi, byte [edx + esi + 0xb9e9]
movzx edx, byte [edx + esi + 0xb9da]
add ecx, edi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x464d4f
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x464d69
cmp ecx, 0x60
jge 0x464d62
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x464d69
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
mov edi, edi
cmp edi, 0x30
jge 0x465477
xor esi, esi
jmp 0x464d80
cmp esi, 0x10
jge 0x464dba
mov ecx, dword [ebp - 0x44]
mov edx, edi
shl edx, 4
add edx, esi
cmp byte [edx + ecx], 0
je 0x464db5
lea edx, [edi + 0x14]
imul edx, dword [ebx + 0x84]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x19a], cl
add esi, 1
jmp 0x464d80
add edi, 1
jmp 0x464d70
cmp edx, 0x120
jne 0x465068
cmp dword [ebx + 0x84], esi
jne 0x464f1b
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464ded.33
movzx edx, byte [ecx + 0x466708]
jmp dword [edx*4 + 0x4666d0]
mov dword [ebp - 0x58], 0x56f328
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56ef68
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56fc28
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56ede8
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56f1a8
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56ea28
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56c928
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56e2a8
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56e8a8
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56dd68
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56f7a8
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56ec68
jmp case.0x464ded.33
mov dword [ebp - 0x58], 0x56d0a8
mov ecx, dword [ebp - 0x1c]
mov ecx, dword [ecx]
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 0x464eb9
mov dword [ebp - 0x18], edi
mov dword [ebx + eax*4 + 0x818], edi
jmp 0x464ed6
cmp ecx, 0x60
jge 0x464ecc
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x464ed3
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
cmp edi, 0x30
jge 0x465477
xor esi, esi
cmp esi, 8
jge 0x464f16
mov ecx, dword [ebp - 0x58]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x464f11
lea edx, [edi + 0xc]
imul edx, dword [ebx + 0x84]
lea ecx, [eax + eax*2]
lea edx, [edx + ecx*4]
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x1cc], cl
add esi, 1
jmp 0x464ee1
add edi, 1
jmp 0x464ed6
cmp edx, 0x120
jne 0x465068
cmp dword [ebx + 0x84], 0x160
jne 0x465068
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x464f4d.33
movzx edx, byte [ecx + 0x46675c]
jmp dword [edx*4 + 0x466724]
mov dword [ebp - 0x30], 0x56eba8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x570be8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56f0e8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56d5e8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56dca8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x570b28
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56e4e8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56c868
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x5703a8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56e428
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56e1e8
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x570a68
jmp case.0x464f4d.33
mov dword [ebp - 0x30], 0x56d528
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
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 0x465009
mov dword [ebp - 0x18], edi
mov dword [ebx + eax*4 + 0x818], edi
jmp 0x465026
cmp ecx, 0x60
jge 0x46501c
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x465023
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
cmp edi, 0x18
jge 0x465477
xor esi, esi
cmp esi, 8
jge 0x465063
mov ecx, dword [ebp - 0x30]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x46505e
lea edx, [edi + 5]
imul edx, dword [ebx + 0x84]
lea ecx, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
add ecx, dword [edx]
mov dl, byte [ebp - 0x18]
mov byte [ecx + esi + 0xcd], dl
add esi, 1
jmp 0x465031
add edi, 1
jmp 0x465026
cmp edx, 0x1e0
jne 0x4651cf
cmp dword [ebx + 0x84], 0x280
jne 0x4651cf
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x46509a.33
movzx ecx, byte [ecx + 0x4667b0]
jmp dword [ecx*4 + 0x466778]
mov dword [ebp - 0x38], 0x570468
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x570768
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56dee8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56cda8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56d9a8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56d6a8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56fda8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56e5a8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56d228
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x5700a8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56f928
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56caa8
jmp case.0x46509a.33
mov dword [ebp - 0x38], 0x56f4a8
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx]
mov edx, eax
shl edx, 4
movzx edi, byte [edx + esi + 0x3354]
movzx ecx, byte [edx + esi + 0x3363]
add ecx, edi
movzx edi, byte [edx + esi + 0xa8e3]
movzx edx, byte [edx + esi + 0xa8d4]
add ecx, edi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x46515a
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x465174
cmp ecx, 0x60
jge 0x46516d
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x465174
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
lea esp, [esp]
cmp edi, 0x30
jge 0x465477
xor esi, esi
jmp 0x465190
cmp esi, 0x10
jge 0x4651ca
mov ecx, dword [ebp - 0x38]
mov edx, edi
shl edx, 4
add edx, esi
cmp byte [edx + ecx], 0
je 0x4651c5
lea edx, [edi + 0x14]
imul edx, dword [ebx + 0x84]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x154], cl
add esi, 1
jmp 0x465190
add edi, 1
jmp 0x465180
cmp edx, 0xf0
jne 0x465477
cmp dword [ebx + 0x84], 0x280
jne 0x46532a
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x465201.33
movzx edx, byte [ecx + 0x466804]
jmp dword [edx*4 + 0x4667cc]
mov dword [ebp - 0x40], 0x56f328
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56ef68
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56fc28
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56ede8
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56f1a8
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56ea28
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56c928
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56e2a8
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56e8a8
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56dd68
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56f7a8
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56ec68
jmp case.0x465201.33
mov dword [ebp - 0x40], 0x56d0a8
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx]
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
movzx edi, byte [esi + edx + 0x1a90]
movzx ecx, byte [esi + edx + 0x1a97]
add ecx, edi
movzx edi, byte [esi + edx + 0x9017]
movzx edx, byte [esi + edx + 0x9010]
add ecx, edi
add ecx, edx
sar ecx, 2
cmp ecx, 0xd0
jle 0x4652c3
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x4652dd
cmp ecx, 0x60
jge 0x4652d6
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x4652dd
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
cmp edi, 0x30
jge 0x465477
xor esi, esi
lea ecx, [ecx]
cmp esi, 8
jge 0x465325
mov ecx, dword [ebp - 0x40]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x465320
lea edx, [edi + 0xa]
imul edx, dword [ebx + 0x84]
lea ecx, [eax + eax*2]
lea edx, [edx + ecx*4]
mov ecx, dword [ebp - 0x1c]
add edx, dword [ecx]
mov cl, byte [ebp - 0x18]
mov byte [edx + esi + 0x190], cl
add esi, 1
jmp 0x4652f0
add edi, 1
jmp 0x4652e2
cmp edx, 0xf0
jne 0x465477
cmp dword [ebx + 0x84], 0x140
jne 0x465477
movsx ecx, cl
add ecx, 0xffffffe0
cmp ecx, 0x1a
ja case.0x46535c.33
movzx edx, byte [ecx + 0x466858]
jmp dword [edx*4 + 0x466820]
mov dword [ebp - 0x48], 0x56eba8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x570be8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56f0e8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56d5e8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56dca8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x570b28
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56e4e8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56c868
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x5703a8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56e428
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56e1e8
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x570a68
jmp case.0x46535c.33
mov dword [ebp - 0x48], 0x56d528
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
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 0x465417
xor ecx, ecx
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x465431
cmp ecx, 0x60
jge 0x46542a
mov ecx, 0xff
mov dword [ebx + eax*4 + 0x818], ecx
jmp 0x465431
mov ecx, dword [ebx + eax*4 + 0x818]
mov dword [ebp - 0x18], ecx
xor edi, edi
cmp edi, 0x18
jge 0x465477
xor esi, esi
lea ecx, [ecx]
cmp esi, 8
jge 0x465472
mov ecx, dword [ebp - 0x48]
lea edx, [esi + edi*8]
cmp byte [edx + ecx], 0
je 0x46546d
lea edx, [edi + 5]
imul edx, dword [ebx + 0x84]
lea ecx, [edx + eax*8]
mov edx, dword [ebp - 0x1c]
add ecx, dword [edx]
mov dl, byte [ebp - 0x18]
mov byte [ecx + esi + 0xaf], dl
add esi, 1
jmp 0x465440
add edi, 1
jmp 0x465436
mov ecx, dword [ebp - 0x74]
add eax, 1
xor edi, edi
jmp 0x464c39
lea eax, [ecx - 0x10]
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4654a4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x28], 0
mov edi, dword [ebp - 0x1c]
je 0x4656d9
mov ecx, dword [ebx + 0x88]
cmp ecx, 0x120
jbe 0x465581
mov eax, dword [ebx + 0x84]
cmp eax, 0x160
jbe 0x465575
mov ecx, dword [edi]
mov edx, eax
imul edx, edx, 0x43
movzx esi, byte [edx + ecx + 0x173]
lea eax, [eax + eax*4]
add edx, ecx
movzx edx, byte [edx + 0x14]
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x173]
movzx ecx, byte [ecx + 0x14]
add eax, esi
add eax, ecx
add eax, edx
sar eax, 2
cmp eax, 0xd0
jle 0x465517
xor ecx, ecx
mov dword [ebx + 0x878], ecx
jmp 0x46552f
cmp eax, 0x60
jge 0x465529
mov ecx, 0xff
mov dword [ebx + 0x878], ecx
jmp 0x46552f
mov ecx, dword [ebx + 0x878]
xor esi, esi
cmp esi, 0x30
jge 0x4656d9
xor eax, eax
lea esp, [esp]
cmp eax, 0x160
jge 0x465570
mov edx, esi
imul edx, edx, 0x160
add edx, eax
cmp byte [edx + ebx + 0x3ad0], 0
je 0x46556b
lea edx, [esi + 0x14]
imul edx, dword [ebx + 0x84]
add edx, dword [edi]
mov byte [edx + eax + 0x14], cl
add eax, 1
jmp 0x465540
add esi, 1
jmp 0x465531
cmp ecx, 0x120
ja 0x465635
mov eax, dword [ebx + 0x84]
cmp eax, 0x160
jbe 0x465635
mov ecx, dword [edi]
mov edx, eax
imul edx, edx, 0x23
movzx esi, byte [edx + ecx + 0x16e]
lea eax, [eax + eax*2]
add edx, ecx
movzx edx, byte [edx + 0xf]
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx + 0x16e]
movzx ecx, byte [ecx + 0xf]
add eax, esi
add eax, ecx
add eax, edx
sar eax, 2
cmp eax, 0xd0
jle 0x4655d2
xor ecx, ecx
mov dword [ebx + 0x878], ecx
jmp 0x4655ea
cmp eax, 0x60
jge 0x4655e4
mov ecx, 0xff
mov dword [ebx + 0x878], ecx
jmp 0x4655ea
mov ecx, dword [ebx + 0x878]
xor esi, esi
lea esp, [esp]
cmp esi, 0x18
jge 0x4656d9
xor eax, eax
jmp 0x465600
cmp eax, 0x160
jge 0x465630
mov edx, esi
imul edx, edx, 0x160
add edx, eax
cmp byte [edx + ebx + 0x19d0], 0
je 0x46562b
lea edx, [esi + 0xc]
imul edx, dword [ebx + 0x84]
add edx, dword [edi]
mov byte [edx + eax + 0xf], cl
add eax, 1
jmp 0x465600
add esi, 1
jmp 0x4655f0
mov ecx, dword [ebx + 0x84]
mov edx, dword [edi]
lea eax, [ecx*8]
sub eax, ecx
lea esi, [edx + eax*4]
lea eax, [edx + ecx*4 + 8]
movzx eax, byte [ecx + eax + 2]
lea edx, [edx + ecx*4]
movzx ecx, byte [ecx + edx + 0x89]
movzx edx, byte [esi + 0x89]
add eax, ecx
movzx ecx, byte [esi + 0xa]
add eax, edx
add eax, ecx
sar eax, 2
cmp eax, 0xd0
jle 0x465682
xor ecx, ecx
mov dword [ebx + 0x878], ecx
jmp 0x46569a
cmp eax, 0x60
jge 0x465694
mov ecx, 0xff
mov dword [ebx + 0x878], ecx
jmp 0x46569a
mov ecx, dword [ebx + 0x878]
xor esi, esi
lea esp, [esp]
cmp esi, 0x18
jge 0x4656d9
xor eax, eax
cmp eax, 0x80
jge 0x4656d4
mov edx, esi
shl edx, 7
add edx, eax
cmp byte [edx + ebx + 0xdd0], 0
je 0x4656cf
lea edx, [esi + 5]
imul edx, dword [ebx + 0x84]
add edx, dword [edi]
mov byte [edx + eax + 0xa], cl
add eax, 1
jmp 0x4656a7
add esi, 1
jmp 0x4656a0
cmp dword [ebx + 0x18c], 0
je 0x4656f8
add ebx, 0xa0
push ebx
mov ebx, dword [ebp - 0x94]
push edi
call fcn.0046dcb0
mov ebx, dword [ebp + 8]
shr dword [ebx + 0x84], 1
cmp dword [ebx + 0x7d3c], 0
jg 0x465719
cmp byte [ebx + 0x294], 0
jne 0x465719
cmp byte [ebx + 0x295], 0
je 0x46575c
cmp byte [ebp - 0x1d], 0
je 0x465753
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x84]
mov eax, dword [eax]
push ecx
push edx
push eax
mov eax, dword [ebp - 0x158]
push eax
call dword [0x5a15d4]
add esp, 0x10
emms
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x6c], ecx
jmp 0x46575c
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x6c], edx
cmp byte [ebx + 0x7d84], 0
jne 0x465b0f
cmp dword [ebx + 0x7d3c], 0
jg 0x465796
cmp byte [ebx + 0x294], 0
jne 0x465796
cmp byte [ebx + 0x295], 0
jne 0x465796
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax + 4]
mov dword [ecx + 8], 1
jmp 0x465fe1
cmp dword [ebp - 0x70], 1
jbe 0x465fe1
mov ecx, dword [ebx + 0x7cf4]
cmp ecx, 0xa
jb 0x4657b0
mov ecx, 9
mov eax, dword [ebp - 0x70]
xor edx, edx
div dword [ecx*8 + 0x558b80]
cmp dword [ecx*8 + 0x558b84], 0
je 0x4657cd
test edx, edx
setne al
jmp 0x4657d2
test edx, edx
sete al
test al, al
je 0x465fe1
cmp dword [ebx + 0xdbc], 0
mov ecx, dword [ebp - 0x78]
je 0x4657fa
mov edx, dword [ecx + 4]
mov dword [edx + 8], 1
mov dword [ebx + 0xdbc], 0
mov edx, dword [ebx + 0x1b4]
mov edi, dword [ebp - 0x68]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
push edx
mov edx, dword [ebp - 0xb8]
push edx
lea edx, [edi + 0xe]
push edx
mov edx, dword [ebp - 0x6c]
push edx
call eax
mov cl, byte [edi + 0x12]
xor edx, edx
and cl, 0xc0
cmp cl, 0xc0
sete dl
mov esi, eax
test esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x74], edx
jle 0x465fe1
cmp byte [ebx + 0x294], 0
je 0x4658b8
cmp dword [ebx + 0x7d34], 0
je 0x46589a
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x74]
push 1
mov eax, edi
mov edi, dword [ebx + 0x7d34]
push esi
push eax
call fcn.0047cc70
mov ecx, dword [ebx + 0x7d34]
add esp, 0xc
cmp dword [ecx + 0x2044], 0
jne 0x46588d
mov esi, ebx
call fcn.0044a030
mov esi, dword [ebp - 0x24]
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x98]
add eax, 1
cmp eax, dword [ebp - 0xa0]
mov dword [ebp - 0x98], eax
jb 0x4658b8
or dword [ebx + 0x29c], 0x50
cmp byte [ebx + 0x295], 0
je 0x465972
cmp dword [ebx + 0x7d38], 0
je 0x46591c
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [ebp - 0x68]
mov edi, dword [ebx + 0x7d38]
mov ecx, dword [ebp - 0x90]
push 1
push esi
push edx
mov edx, dword [ebp - 0x74]
call fcn.0047cc70
mov eax, dword [ebx + 0x7d38]
add esp, 0xc
cmp dword [eax + 0x2044], 0
jne 0x46590f
mov esi, ebx
call fcn.0044a030
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xac]
add eax, 1
test eax, eax
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
mov dword [ebp - 0xac], eax
jge 0x46593b
fadd dword [0x540f90]
fild dword [ebx + 0xd08]
fmul dword [ebx + 0x78]
fcompp
fnstsw ax
test ah, 0x41
jp 0x465957
or dword [ebx + 0x29c], 0x80
mov eax, dword [ebp - 0x7c]
add eax, 1
cmp eax, dword [ebp - 0xa0]
mov dword [ebp - 0x7c], eax
jb 0x465972
or dword [ebx + 0x29c], 0x80
mov eax, dword [ebx + 0x7d3c]
test eax, eax
jle 0x465fe1
xor esi, esi
mov edx, eax
cmp esi, 0x80
mov dword [ebp - 0x18], esi
jge 0x465fe1
test edx, edx
jle 0x465fe1
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ecx + esi*4]
test eax, eax
je 0x465ae2
mov ecx, dword [eax + 0x24]
cmp ecx, dword [ebx + 0x154]
jne 0x465ae2
mov ecx, dword [eax + 0x28]
cmp ecx, dword [ebx + 0x158]
jne 0x465ae2
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [ebx + 0x15c]
jne 0x465ae2
mov edi, dword [eax + 0x14]
sub edx, 1
cmp dword [ebp - 0x74], 0
lea ecx, [eax + 0x14]
mov dword [ebp - 0x88], edx
je 0x465aea
cmp edi, 0x19
jl 0x465a23
mov edx, 0xa
sub edx, edi
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx + 0xc]
sub eax, edi
add eax, 0x32
xor edx, edx
mov edi, 0x28
div edi
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ecx + esi*4]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x60], edx
mov edi, dword [ebp - 0x8c]
mov dword [eax + 0x1c], 1
mov eax, dword [ebp - 0x18]
mov ecx, dword [edi + eax*4]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x493e0
lea esi, [edx + ecx + 0x30]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 4], 6
lea edx, [ecx + 0x12]
mov dword [esi], edx
mov edx, dword [edi + eax*4]
movzx edx, byte [edx + 0x24]
mov byte [esi + 5], dl
mov edx, dword [edi + eax*4]
movzx edx, byte [edx + 0x28]
mov byte [esi + 6], dl
mov eax, dword [edi + eax*4]
movzx edx, byte [eax + 0x2c]
mov eax, dword [ebp - 0x68]
push ecx
add eax, 0xe
push eax
lea ecx, [esi + 0x12]
push ecx
mov byte [esi + 7], dl
call fcn.004ef8a0
mov al, byte [ebp - 0x60]
mov ecx, dword [ebp - 0x18]
and al, 1
add al, al
add al, al
add al, al
or al, 1
mov byte [esi + 9], al
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov dword [esi + 0xa], edx
mov eax, dword [eax + 4]
mov dword [esi + 0xe], eax
mov eax, dword [edi + ecx*4]
mov eax, dword [eax + 0xc]
add eax, 1
xor edx, edx
mov esi, 0x28
div esi
mov eax, dword [edi + ecx*4]
add esp, 0xc
mov dword [eax + 0xc], edx
mov ecx, dword [edi + ecx*4]
add ecx, 0x14
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x18]
add esi, 1
jmp 0x465984
cmp dword [eax + 0x1c], 0
je 0x465ae2
cmp edi, 0x28
jge 0x465b00
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x60], ecx
jmp 0x465a32
mov dword [eax + 0x1c], 0
add esi, 1
jmp 0x465984
cmp dword [ebx + 0x7d3c], 0
jle 0x465dd3
cmp dword [ebp - 0x70], 1
jbe 0x465de3
mov ecx, dword [ebx + 0x98]
cmp ecx, 0xa
jb 0x465b36
mov ecx, 9
mov eax, dword [ebp - 0x70]
xor edx, edx
div dword [ecx*8 + 0x558b80]
cmp dword [ecx*8 + 0x558b84], 0
je 0x465b53
test edx, edx
setne al
jmp 0x465b58
test edx, edx
sete al
test al, al
je 0x465de3
mov al, byte [ebp - 0x29]
cmp al, 3
mov edx, dword [ebp - 0x6c]
jne 0x465b8f
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x90]
mov edx, dword [edx]
push eax
mov eax, dword [ebp - 0x1d8]
push ecx
push edx
push eax
call dword [0x5a15b8]
add esp, 0x10
emms
jmp 0x465bd1
cmp al, 1
jne 0x465bb8
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x90]
mov edx, dword [edx]
push eax
mov eax, dword [ebp - 0x1d8]
push ecx
push edx
push eax
call dword [0x5a15d4]
add esp, 0x10
emms
jmp 0x465bd1
mov ecx, dword [ebp - 0xa4]
mov eax, dword [edx]
push ecx
mov ecx, dword [ebp - 0x1d8]
push eax
push ecx
call fcn.004ef8a0
add esp, 0xc
cmp byte [ebx + 0xdc0], 0
je 0x465bf1
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + 4]
mov dword [eax + 8], 1
mov byte [ebx + 0xdc0], 0
mov eax, dword [ebx + 0x1b4]
mov edi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
mov eax, dword [ebp - 0xb8]
push eax
lea eax, [edi + 0xe]
push eax
lea eax, [ebp - 0x1d8]
push eax
call edx
mov esi, eax
mov al, byte [edi + 0x12]
xor ecx, ecx
and al, 0xc0
cmp al, 0xc0
sete cl
test esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], ecx
jle 0x465de3
mov eax, dword [ebx + 0x7d3c]
test eax, eax
jle 0x465de3
xor esi, esi
mov edx, eax
cmp esi, 0x80
mov dword [ebp - 0x18], esi
jge 0x465de3
test edx, edx
jle 0x465de3
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x465da6
mov ecx, dword [eax + 0x24]
cmp ecx, dword [ebx + 0x154]
jne 0x465da6
mov ecx, dword [eax + 0x28]
cmp ecx, dword [ebx + 0x158]
jne 0x465da6
mov ecx, dword [eax + 0x2c]
cmp ecx, dword [ebx + 0x15c]
jne 0x465da6
mov edi, dword [eax + 0x14]
sub edx, 1
cmp dword [ebp - 0x28], 0
lea ecx, [eax + 0x14]
mov dword [ebp - 0x88], edx
je 0x465dae
cmp edi, 0x19
jl 0x465ce7
mov edx, 0xa
sub edx, edi
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [ebp - 0x8c]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx + 0xc]
sub eax, edi
add eax, 0x32
xor edx, edx
mov edi, 0x28
div edi
mov dword [ecx + 0xc], edx
mov ecx, dword [ebp - 0x8c]
mov eax, dword [ecx + esi*4]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x60], edx
mov edi, dword [ebp - 0x8c]
mov dword [eax + 0x1c], 1
mov eax, dword [ebp - 0x18]
mov ecx, dword [edi + eax*4]
mov edx, dword [ecx + 0xc]
imul edx, edx, 0x493e0
lea esi, [edx + ecx + 0x30]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 4], 6
lea edx, [ecx + 0x12]
mov dword [esi], edx
mov edx, dword [edi + eax*4]
movzx edx, byte [edx + 0x24]
mov byte [esi + 5], dl
mov edx, dword [edi + eax*4]
movzx edx, byte [edx + 0x28]
mov byte [esi + 6], dl
mov eax, dword [edi + eax*4]
movzx edx, byte [eax + 0x2c]
mov eax, dword [ebp - 0x68]
push ecx
add eax, 0xe
push eax
lea ecx, [esi + 0x12]
push ecx
mov byte [esi + 7], dl
call fcn.004ef8a0
mov al, byte [ebp - 0x60]
mov ecx, dword [ebp - 0x18]
and al, 1
add al, al
add al, al
add al, al
or al, 1
mov byte [esi + 9], al
mov eax, dword [ebp - 0x90]
mov edx, dword [eax]
mov dword [esi + 0xa], edx
mov eax, dword [eax + 4]
mov dword [esi + 0xe], eax
mov eax, dword [edi + ecx*4]
mov eax, dword [eax + 0xc]
add eax, 1
xor edx, edx
mov esi, 0x28
div esi
mov eax, dword [edi + ecx*4]
add esp, 0xc
mov dword [eax + 0xc], edx
mov ecx, dword [edi + ecx*4]
add ecx, 0x14
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x18]
add esi, 1
jmp 0x465c48
cmp dword [eax + 0x1c], 0
je 0x465da6
cmp edi, 0x28
jge 0x465dc4
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x60], ecx
jmp 0x465cf6
mov dword [eax + 0x1c], 0
add esi, 1
jmp 0x465c48
mov edx, dword [ebp - 0x9c]
mov eax, dword [edx + 4]
mov dword [eax + 8], 1
cmp byte [ebx + 0x294], 0
jne 0x465e07
cmp byte [ebx + 0x295], 0
jne 0x465e07
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + 4]
mov dword [edx + 8], 1
jmp 0x465fe1
cmp dword [ebp - 0x70], 1
jbe 0x465fe1
mov ecx, dword [ebx + 0x7cf4]
cmp ecx, 0xa
jb 0x465e21
mov ecx, 9
mov eax, dword [ebp - 0x70]
xor edx, edx
div dword [ecx*8 + 0x558b80]
cmp dword [ecx*8 + 0x558b84], 0
je 0x465e3e
test edx, edx
setne al
jmp 0x465e43
test edx, edx
sete al
test al, al
je 0x465fe1
cmp dword [ebx + 0xdbc], 0
mov ecx, dword [ebp - 0x78]
je 0x465e6b
mov eax, dword [ecx + 4]
mov dword [eax + 8], 1
mov dword [ebx + 0xdbc], 0
mov eax, dword [ebx + 0x1b4]
mov edi, dword [ebp - 0x68]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
mov eax, dword [ebp - 0xb8]
push eax
lea eax, [edi + 0xe]
push eax
mov eax, dword [ebp - 0x6c]
push eax
call edx
mov esi, eax
mov al, byte [edi + 0x12]
xor ecx, ecx
and al, 0xc0
cmp al, 0xc0
sete cl
test esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x60], ecx
jle 0x465fe1
cmp byte [ebx + 0x294], 0
je 0x465f27
cmp dword [ebx + 0x7d34], 0
je 0x465f09
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x90]
push 1
mov edx, edi
mov edi, dword [ebx + 0x7d34]
push esi
push edx
mov edx, dword [ebp - 0x60]
call fcn.0047cc70
mov eax, dword [ebx + 0x7d34]
add esp, 0xc
cmp dword [eax + 0x2044], 0
jne 0x465efc
mov esi, ebx
call fcn.0044a030
mov esi, dword [ebp - 0x28]
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x98]
add eax, 1
cmp eax, dword [ebp - 0xa0]
mov dword [ebp - 0x98], eax
jb 0x465f27
or dword [ebx + 0x29c], 0x50
cmp byte [ebx + 0x295], 0
je 0x465fe1
cmp dword [ebx + 0x7d38], 0
je 0x465f8b
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebx + 0x7d38]
mov edx, dword [ebp - 0x60]
push 1
push esi
push ecx
mov ecx, dword [ebp - 0x90]
call fcn.0047cc70
mov edx, dword [ebx + 0x7d38]
add esp, 0xc
cmp dword [edx + 0x2044], 0
jne 0x465f7e
mov esi, ebx
call fcn.0044a030
lea eax, [ebx + 0x7d1c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xac]
add eax, 1
test eax, eax
mov dword [ebp - 0x28], eax
fild dword [ebp - 0x28]
mov dword [ebp - 0xac], eax
jge 0x465faa
fadd dword [0x540f90]
fild dword [ebx + 0xd08]
fmul dword [ebx + 0x78]
fcompp
fnstsw ax
test ah, 0x41
jp 0x465fc6
or dword [ebx + 0x29c], 0x80
mov eax, dword [ebp - 0x7c]
add eax, 1
cmp eax, dword [ebp - 0xa0]
mov dword [ebp - 0x7c], eax
jb 0x465fe1
or dword [ebx + 0x29c], 0x80
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x90], edx
mov dword [ebp - 0xd4], eax
jmp 0x462d90
cmp byte [ebp - 0x1d], 0
je 0x46603c
mov eax, dword [ebx + 0xd04]
push 0
push eax
call dword [sym.imp.exp.dll_void___cdecl_JMVSDK_Cif2Halfd1_int__bool_]
add esp, 8
mov ecx, dword [ebx + 0xd04]
push ecx
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_CancelGetAudio_int_]
mov edx, dword [ebx + 0x7cfc]
add esp, 4
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebx + 0x7cfc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x7cfc], 0
call fcn.00460bd0
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0xd04]
push ecx
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_StopChannel_int_]
mov edx, dword [edi + 0xd04]
add esp, 4
push edx
call dword [sym.imp.exp.dll_int___cdecl_JMVSDK_CloseChannel_int_]
add esp, 4
push 0x2c
xor ebx, ebx
lea eax, [edi + 0xcc8]
push ebx
push eax
call fcn.004e9730
mov eax, dword [ebp - 0x19c]
add esp, 0xc
cmp eax, ebx
je 0x4660c7
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [ebp - 0x31c]
cmp eax, ebx
je 0x4660e0
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e0dcf
add esp, 4
xor esi, esi
mov eax, dword [ebp + esi*4 - 0x3b8]
cmp eax, ebx
je 0x4660fc
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e0dcf
add esp, 4
add esi, 1
cmp esi, 3
jl 0x4660e2
mov eax, dword [ebp - 0x2b4]
cmp eax, ebx
je 0x46611d
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e0dcf
add esp, 4
xor esi, esi
nop
mov eax, dword [ebp + esi*4 - 0x408]
cmp eax, ebx
je 0x46613a
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e0dcf
add esp, 4
add esi, 1
cmp esi, 3
jl 0x466120
mov esi, dword [edi + 0x7d34]
cmp esi, ebx
mov byte [edi + 0x294], bl
mov byte [edi + 0x295], bl
je 0x4661bf
mov edx, dword [esi + 0x2040]
push ebx
push ebx
push ebx
push edx
mov dword [ebp - 0x98], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edx, dword [esi + 0x2040]
push ebx
lea eax, [ebp - 0x98]
push eax
push 0x2030
lea ecx, [esi + 0x10]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esi + 0x2040]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x2040], 0xffffffff
mov eax, dword [edi + 0x7d34]
push eax
call fcn.004c1fcb
add esp, 4
mov esi, edi
mov dword [edi + 0x7d34], ebx
call fcn.0044a030
mov esi, dword [edi + 0x7d38]
cmp esi, ebx
je 0x466230
mov ecx, dword [esi + 0x2040]
push ebx
push ebx
push ebx
push ecx
mov dword [ebp - 0xa8], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [esi + 0x2040]
push ebx
lea edx, [ebp - 0xa8]
push edx
push 0x2030
lea eax, [esi + 0x10]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [esi + 0x2040]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x2040], 0xffffffff
mov eax, dword [edi + 0x7d38]
push eax
call fcn.004c1fcb
add esp, 4
mov esi, edi
mov dword [edi + 0x7d38], ebx
call fcn.0044a030
mov eax, dword [ebp - 0x78]
cmp eax, ebx
je 0x466267
mov esi, dword [eax + 4]
cmp esi, ebx
mov dword [eax], vtable.CVideoEncoder.0
je 0x46625b
call fcn.0047d9a0
mov esi, dword [ebp - 0x78]
mov eax, dword [esi + 4]
push eax
call fcn.004e0dcf
add esp, 4
mov dword [esi + 4], ebx
mov ecx, dword [ebp - 0x78]
push ecx
call fcn.004c1fcb
add esp, 4
mov eax, dword [ebp - 0x9c]
cmp eax, ebx
je 0x4662a7
mov esi, dword [eax + 4]
cmp esi, ebx
mov dword [eax], vtable.CVideoEncoder.0
je 0x466298
call fcn.0047d9a0
mov esi, dword [ebp - 0x9c]
mov edx, dword [esi + 4]
push edx
call fcn.004e0dcf
add esp, 4
mov dword [esi + 4], ebx
mov eax, dword [ebp - 0x9c]
push eax
call fcn.004c1fcb
add esp, 4
mov eax, dword [ebp - 0x1d8]
cmp eax, ebx
je 0x4662c0
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [ebp - 0xb0]
cmp eax, ebx
je 0x466300
mov esi, dword [eax + 4]
cmp esi, ebx
mov dword [eax], vtable.CVideoEncoder.0
je 0x4662f1
call fcn.0047d9a0
mov esi, dword [ebp - 0xb0]
mov edx, dword [esi + 4]
push edx
call fcn.004e0dcf
add esp, 4
mov dword [esi + 4], ebx
mov eax, dword [ebp - 0xb0]
push eax
call fcn.004c1fcb
add esp, 4
mov eax, dword [ebp - 0x204]
cmp eax, ebx
je 0x466319
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [ebp - 0x25c]
cmp eax, ebx
je 0x466332
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [edi + 0xc9c]
cmp eax, ebx
je 0x46634b
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [ebp - 0x384]
cmp eax, ebx
je 0x466364
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [ebp - 0x358]
cmp eax, ebx
je 0x46637d
movzx ecx, byte [eax - 1]
sub eax, ecx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [ebp - 0x158]
cmp eax, ebx
je 0x466396
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e0dcf
add esp, 4
mov eax, dword [ebp - 0x68]
push eax
call fcn.004c1fcb
mov eax, dword [ebp - 0x94]
add esp, 4
cmp eax, ebx
je 0x4663b9
lea ecx, [edi + 0xa0]
push ecx
push eax
call fcn.0046da00
mov esi, pe_nt_image_headers32
cmp dword [edi + 0x88], esi
ja 0x4663eb
cmp dword [edi + 0x84], 0x160
jbe 0x4663eb
mov eax, dword [ebp - 0x230]
cmp eax, ebx
je 0x4663eb
movzx edx, byte [eax - 1]
sub eax, edx
push eax
call fcn.004e0dcf
add esp, 4
mov dword [edi + 0x29c], ebx
mov dword [edi + 0x298], ebx
mov byte [edi + 0x7d84], bl
mov dword [edi + 0x84], 0x160
mov dword [edi + 0x88], esi
mov byte [edi + 0x80b], bl
call fcn.004c6f68
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
lea ecx, [edi + 4]
push ecx
push ebx
push 0x1323
push edx
call esi
call fcn.004c6f68
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
mov ecx, dword [eax + 0x20]
push edi
push ebx
push 0x415
push ecx
call esi
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 0xffffffff
call fcn.004d1e3a
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