Function at 0x401000
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffff80
push edi
push esi
push ebx
mov eax, 0xb1f4
call fcn.0042a030
push 3
call fcn.004314b0
push 0x8000
push dword [0x468710]
call fcn.0042a05f
push 0x8000
push dword [0x468730]
call fcn.0042a05f
add esp, 0x14
mov edx, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0xb188], ebx
xor edi, edi
mov ebx, edx
mov dword [esp + 0xb1e8], edi
lea eax, [esp + 0xb134]
push eax
push 0x434134
push dword [0x45c040]
push dword [ebp + 0xc]
push ebx
call dword [0x45b800]
add esp, 0x14
cmp eax, 0xffffffff
je 0x4011bc
cmp eax, 0x6f
jne 0x4010ee
mov eax, dword [0x45b804]
mov ecx, dword [eax]
mov edi, ecx
mov esi, 0x434350
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x4010b0
test dl, dl
je 0x4010ac
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x4010b0
add edi, 2
add esi, 2
test dl, dl
jne 0x401090
xor eax, eax
jmp 0x4010b5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4010c6
mov dword [esp + 0xb188], 0x468720
jmp 0x401054
push 0x434328
push ecx
call fcn.0042a0f5
add esp, 8
mov dword [esp + 0xb188], eax
cmp dword [esp + 0xb188], 0
jne 0x401054
jmp 0x401178
cmp eax, 0x73
jne 0x40115f
mov eax, dword [0x45b804]
mov ecx, dword [eax]
mov edi, ecx
mov esi, 0x434350
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x401121
test dl, dl
je 0x40111d
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x401121
add edi, 2
add esi, 2
test dl, dl
jne 0x401101
xor eax, eax
jmp 0x401126
sbb eax, eax
or eax, 1
test eax, eax
jne 0x40113a
mov dword [esp + 0xb1e8], 0x468720
jmp 0x401054
push 0x434354
push ecx
call fcn.0042a0f5
add esp, 8
mov dword [esp + 0xb1e8], eax
cmp dword [esp + 0xb1e8], 0
jne 0x401054
jmp 0x40119a
push 0x468740
push str.Usage:_rehuff___s__statsout.txt_____infile.ogv___outfile.ogv__n
call fcn.0042a108
push 0xffffffffffffffff
call fcn.0042a178
add esp, 0xc
mov eax, dword [0x45b804]
push dword [eax]
push str.Unable_to_open_output_file__s._n
push 0x468740
call fcn.0042a24d
push 1
call fcn.0042a178
jmp 0x402699
mov eax, dword [0x45b804]
push dword [eax]
push str.Unable_to_open_statistics_output_file__s._n
push 0x468740
call fcn.0042a24d
push 1
call fcn.0042a178
jmp 0x402699
mov edi, dword [esp + 0xb1e8]
mov eax, dword [0x45b808]
mov eax, dword [eax]
mov edx, ebx
cmp eax, edx
mov ebx, dword [esp + 0xb188]
jl 0x4011db
xor esi, esi
jmp 0x401206
push 0x434388
mov ecx, dword [ebp + 0xc]
push dword [ecx + eax*4]
call fcn.0042a0f5
mov edx, dword [ebp + 8]
add esp, 8
mov esi, eax
test esi, esi
je 0x402676
mov ecx, dword [0x45b808]
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
test ebx, ebx
je 0x40261d
test esi, esi
je 0x402610
cmp eax, edx
jl 0x4013c1
push 2
push 0
mov eax, 0x468700
test esi, esi
mov edx, 0x468720
jne 0x401232
mov esi, eax
push esi
test ebx, ebx
jne 0x401239
mov ebx, edx
call fcn.0042a27f
add esp, 0xc
cmp eax, 0xffffffff
je 0x4025f7
xor eax, eax
push eax
push eax
push esi
call fcn.0042a27f
add esp, 0xc
cmp eax, 0xffffffff
je 0x4025f7
lea edx, [esp + 0xb0e8]
xor eax, eax
mov dword [esp + 0xb1a0], eax
mov dword [esp + 0xb1a4], eax
mov dword [esp + 0xb1ec], eax
mov dword [esp + 0xb1a8], eax
mov dword [esp + 0xb17c], eax
mov dword [esp + 0xb180], eax
push edx
call fcn.00406cf0
lea eax, [esp + 0xb0c4]
push eax
call fcn.00406cf0
add esp, 8
mov dword [esp + 0xb188], ebx
mov dword [esp + 0xb1e8], edi
xor ecx, ecx
mov edi, ecx
mov ebx, ecx
lea eax, [esp + 0xb0e0]
push eax
push esi
call fcn.0042a30b
add esp, 8
xor eax, eax
mov dword [esp + 0xb1ac], eax
test ebx, ebx
mov dword [esp + 0xb1c4], eax
je 0x4025dd
lea ebx, [esp + 0xb1a8]
mov dword [esp + 0xc], ebx
lea eax, [esp + 0xb1a0]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0xb1ac]
mov dword [esp + 0x14], ecx
lea ebx, [esp + 0xb1a4]
mov dword [esp + 0x18], ebx
lea eax, [esp + 0xb124]
lea edx, [esp + 0xb1ec]
lea ecx, [esp + 0xb1c4]
call fcn.00402fb0
mov dword [esp + 0xb1b4], edi
lea edi, [esp + 0xb0e8]
xor ebx, ebx
mov dword [esp + 0xb1b0], ebx
mov eax, esi
mov edx, edi
call fcn.004032a8
test eax, eax
je 0x4025ca
lea ebx, [esp + 0xb104]
push ebx
push edi
call fcn.004062c0
add esp, 8
test eax, eax
jle 0x401343
push ebx
call fcn.00405910
pop ecx
test eax, eax
je 0x4013da
lea eax, [esp + 0xb1a8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xb1a0]
mov dword [esp + 0x10], eax
lea edx, [esp + 0xb1ac]
mov dword [esp + 0x14], edx
lea eax, [esp + 0xb1a4]
mov dword [esp + 0x18], eax
lea edx, [esp + 0xb1ec]
lea ecx, [esp + 0xb1c4]
mov eax, ebx
call fcn.00402fb0
push ebx
push edi
call fcn.004062c0
add esp, 8
jmp 0x401365
push 0x468740
push str.Usage:_rehuff___s__statsout.txt_____infile.ogv___outfile.ogv__n
call fcn.0042a108
push 0xffffffffffffffff
call fcn.0042a178
add esp, 0xc
mov edi, dword [esp + 0xb1b4]
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
mov ecx, ebx
mov ebx, dword [esp + 0xb1b0]
call fcn.00403a40
mov dword [esp + 0xb1b4], edi
mov dword [esp + 0xb1b0], ebx
lea edi, [esp + 0xb0e8]
mov eax, dword [esp + 0xb1c4]
test eax, eax
jle 0x4014de
mov dword [esp + 0xb178], esi
xor edx, edx
xor ebx, ebx
mov esi, edx
mov edx, dword [esp + 0xb1ec]
cmp dword [ebx + edx + 0x2ec], 0
je 0x4014c1
lea edi, [esp + 0xb158]
push edi
add edx, ebx
push edx
call fcn.00406bf0
add esp, 8
test eax, eax
jl 0x4014a9
je 0x4014ba
mov ecx, dword [esp + 0xb1ec]
push edi
lea eax, [ecx + ebx + 0x308]
lea edx, [ecx + ebx + 0x348]
lea ecx, [ecx + ebx + 0x358]
push ecx
push edx
push eax
call fcn.0041ecc0
add esp, 0x10
mov edx, dword [esp + 0xb1ec]
lea ecx, [ebx + edx]
mov dword [ecx + 0x2ec], eax
test eax, eax
jl 0x4025b0
jle 0x4014b0
push 0
push ecx
call fcn.00406b00
add esp, 8
mov edx, dword [esp + 0xb1ec]
cmp dword [edx + ebx + 0x2ec], 0
jne 0x40144a
mov eax, dword [esp + 0xb1c4]
add ebx, 0x360
inc esi
cmp esi, eax
jl 0x40142e
mov esi, dword [esp + 0xb178]
lea edi, [esp + 0xb0e8]
test eax, eax
jle 0x40259d
mov edx, dword [esp + 0xb1ec]
xor ebx, ebx
xor ecx, ecx
cmp dword [ecx + edx + 0x2ec], 0
jne 0x40253b
add ecx, 0x360
inc ebx
cmp ebx, eax
jl 0x4014f1
mov edi, dword [esp + 0xb1b4]
mov ebx, dword [esp + 0xb1b0]
mov dword [esp + 0xb154], edx
mov dword [esp + 0xb1b4], edi
mov dword [esp + 0xb1b0], ebx
mov dword [esp + 0xb178], esi
xor edx, edx
xor eax, eax
mov ebx, eax
mov edi, edx
mov esi, 0x468740
mov eax, dword [esp + 0xb154]
push dword [ebx + eax + 0x358]
lea ecx, [eax + ebx + 0x308]
push ecx
call fcn.00416310
add esp, 8
mov edx, dword [esp + 0xb1ec]
fild dword [edx + ebx + 0x324]
fild dword [edx + ebx + 0x328]
mov ecx, dword [edx + ebx + 0x150]
mov dword [esp + 4], str.Ogg_logical_stream__lx_is_Theora__dx_d__.02f_fps_video_nEncoded_frame_content_is__dx_d_with__dx_d_offset_n
mov dword [edx + ebx + 0x35c], eax
mov dword [esp], esi
mov dword [esp + 8], ecx
mov ecx, dword [edx + ebx + 0x30c]
mov dword [esp + 0xc], ecx
mov ecx, dword [edx + ebx + 0x310]
mov dword [esp + 0x10], ecx
mov ecx, dword [edx + ebx + 0x324]
shr ecx, 0x1f
fxch st(1)
fadd qword [ecx*8 + 0x4340e0]
mov ecx, dword [edx + ebx + 0x328]
shr ecx, 0x1f
fxch st(1)
fadd qword [ecx*8 + 0x4340e0]
fdivp st(1)
mov ecx, dword [edx + ebx + 0x314]
fstp qword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edx + ebx + 0x318]
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + ebx + 0x31c]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + ebx + 0x320]
mov dword [esp + 0x28], ecx
call fcn.0042a24d
add ebx, 0x360
inc edi
cmp edi, dword [esp + 0xb1c4]
jge 0x401620
mov eax, dword [esp + 0xb1ec]
jmp 0x401548
mov edi, dword [esp + 0xb1b4]
mov ebx, dword [esp + 0xb1b0]
mov esi, dword [esp + 0xb178]
lea eax, [esp + 0xb104]
push eax
lea eax, [esp + 0xb0ec]
push eax
call fcn.004062c0
add esp, 8
test eax, eax
jle 0x402511
mov dword [esp + 0xb1b0], ebx
mov dword [esp + 0xb178], esi
lea esi, [esp + 0xb104]
lea ebx, [esp + 0xb0e8]
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
mov ecx, esi
call fcn.00403a40
push esi
push ebx
call fcn.004062c0
add esp, 8
test eax, eax
jg 0x401671
mov dword [esp + 0xb1b4], edi
lea esi, [esp + 0xb104]
lea edi, [esp + 0xb0e8]
xor ebx, ebx
cmp dword [esp + 0xb1c4], 0
jle 0x4019e0
mov edx, ebx
mov dword [esp + 0xb1c8], edx
mov eax, edx
mov edi, eax
mov ebx, edi
add ebx, dword [esp + 0xb1ec]
mov ecx, dword [ebx + 0x2f8]
mov edx, dword [ebx + 0x2fc]
inc ecx
inc edx
or ecx, edx
jne 0x40196e
mov dword [esp + 0xb1d4], edi
xor edx, edx
mov dword [esp + 0xb1dc], edx
mov esi, edx
mov eax, dword [esp + 0xb1d4]
add eax, dword [esp + 0xb1ec]
mov edi, esi
shl edi, 5
lea ebx, [esp + edi + 0x9080]
push ebx
push eax
call fcn.00406b00
add esp, 8
test eax, eax
jle 0x4024bf
mov eax, ebx
mov edx, ebx
call fcn.004032e0
push ebx
call fcn.0041c8c0
pop ecx
test eax, eax
jne 0x4024e0
mov eax, dword [esp + edi + 0x9090]
mov edi, dword [esp + edi + 0x9094]
inc esi
inc eax
inc edi
or eax, edi
jne 0x4024bf
cmp esi, 0xff
jl 0x4016f7
mov edi, dword [esp + 0xb1d4]
mov dword [esp + 0xb1dc], esi
mov edx, dword [esp + 0xb1ec]
mov dword [esp + 0xb19c], edx
lea ecx, [edi + edx]
mov edx, dword [ecx + 0x300]
mov eax, dword [ecx + 0x304]
mov dword [esp + 0xb198], ecx
lea esi, [edx + 1]
lea ebx, [eax + 1]
or esi, ebx
je 0x40249b
mov ecx, dword [esp + 0xb1dc]
shl ecx, 5
mov ebx, dword [esp + ecx + 0x9070]
mov esi, dword [esp + ecx + 0x9074]
neg edx
add edx, ebx
neg eax
add eax, esi
or edx, eax
jne 0x402472
mov edx, dword [esp + 0xb198]
mov ecx, dword [edx + 0x344]
mov dword [esp + 0xb18c], ecx
cmp ecx, 0x1f
ja 0x4017f6
mov edx, ebx
shrd edx, esi, cl
mov dword [esp + 0xb190], edx
mov edx, esi
sar edx, cl
mov dword [esp + 0xb194], edx
jmp 0x40180d
mov edx, esi
sar edx, 0x1f
mov dword [esp + 0xb194], edx
mov edx, esi
sar edx, cl
mov dword [esp + 0xb190], edx
mov eax, 1
shl eax, cl
dec eax
cdq
mov ecx, dword [esp + 0xb1dc]
and ebx, eax
and esi, edx
lea eax, [ecx - 1]
cdq
mov ecx, dword [esp + 0xb190]
sub ebx, eax
sbb esi, edx
mov eax, dword [esp + 0xb194]
add ebx, ecx
adc esi, eax
mov edx, ebx
sub edx, ecx
mov ecx, esi
sbb ecx, eax
jge 0x4018a8
lea edx, [esp + 0x9080]
push edx
call fcn.0041c8e0
pop ecx
mov dword [esp + 0xb1d4], edi
mov edi, dword [esp + 0xb1ec]
mov dword [esp + 0xb19c], edi
mov ecx, ebx
add ecx, 0xffffffff
mov edi, esi
adc edi, 0xffffffff
xor edx, edx
test eax, eax
setg dl
test edx, edx
mov edx, dword [esp + 0xb1ec]
je 0x401886
mov ecx, ebx
mov dword [esp + 0xb190], ecx
je 0x401891
mov edi, esi
mov dword [esp + 0xb194], edi
mov edi, dword [esp + 0xb1d4]
add edx, edi
mov dword [esp + 0xb198], edx
cmp dword [esp + 0xb18c], 0x1f
ja 0x4018ce
mov ecx, dword [esp + 0xb18c]
mov edx, dword [esp + 0xb194]
mov eax, dword [esp + 0xb190]
shld edx, eax, cl
shl eax, cl
jmp 0x4018e0
mov ecx, dword [esp + 0xb18c]
mov edx, dword [esp + 0xb190]
shl edx, cl
xor eax, eax
add ebx, eax
adc esi, edx
sub ebx, dword [esp + 0xb190]
sbb esi, dword [esp + 0xb194]
mov edx, dword [esp + 0xb19c]
mov dword [edx + edi + 0x2f8], ebx
mov ebx, dword [esp + 0xb198]
add ebx, 0x2f8
mov dword [edx + edi + 0x2fc], esi
push 8
push ebx
push 5
push dword [edx + edi + 0x35c]
call fcn.00417ff0
add esp, 0x10
xor esi, esi
mov ecx, dword [esp + 0xb1ec]
mov ebx, esi
shl ebx, 5
lea edx, [esp + ebx + 0x9080]
push 0
push edx
push dword [edi + ecx + 0x35c]
call fcn.00416760
push dword [esp + ebx + 0x908c]
call fcn.0042a32d
add esp, 0x10
inc esi
cmp esi, dword [esp + 0xb1dc]
jl 0x40192a
mov ebx, edi
add ebx, dword [esp + 0xb1ec]
lea esi, [esp + 0xb158]
push esi
push ebx
call fcn.00406b00
add esp, 8
test eax, eax
jle 0x4019ae
mov edx, dword [esp + 0xb1ec]
push 0
push esi
push dword [edi + edx + 0x35c]
call fcn.00416760
mov edx, edi
add edx, dword [esp + 0xb1f8]
push esi
push edx
call fcn.00406b00
add esp, 0x14
jmp 0x40197f
mov edx, dword [esp + 0xb1c8]
add edi, 0x360
inc edx
cmp edx, dword [esp + 0xb1c4]
mov dword [esp + 0xb1c8], edx
jl 0x4016c6
lea esi, [esp + 0xb104]
lea edi, [esp + 0xb0e8]
xor ebx, ebx
mov eax, dword [esp + 0xb178]
mov edx, edi
call fcn.004032a8
test eax, eax
je 0x402458
push esi
push edi
call fcn.004062c0
add esp, 8
test eax, eax
jle 0x4016ab
push esi
call fcn.00405910
pop ecx
test eax, eax
jne 0x401a34
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
mov ecx, esi
call fcn.00403a40
push esi
push edi
call fcn.004062c0
add esp, 8
jmp 0x401a00
mov edi, dword [esp + 0xb1b4]
mov esi, dword [esp + 0xb178]
mov eax, dword [esp + 0xb104]
mov dword [esp + 0xb124], eax
mov ecx, dword [esp + 0xb108]
mov dword [esp + 0xb128], ecx
mov ebx, dword [esp + 0xb10c]
mov dword [esp + 0xb12c], ebx
mov eax, dword [esp + 0xb110]
mov dword [esp + 0xb130], eax
mov ebx, 1
cmp dword [esp + 0xb1c4], 0
jle 0x401ef1
mov dword [esp + 0xb1b4], edi
mov dword [esp + 0xb1b0], ebx
xor eax, eax
mov dword [esp + 0xb178], esi
mov dword [esp + 0xb148], eax
mov ebx, eax
mov ecx, dword [esp + 0xb1ec]
push 4
lea edx, [esp + 0xb13c]
push edx
push 0x8000
push dword [ebx + ecx + 0x35c]
call fcn.00417ff0
mov ecx, dword [esp + 0xb1fc]
push 4
lea edx, [esp + 0xb150]
push edx
push 0x8001
push dword [ebx + ecx + 0x35c]
call fcn.00417ff0
add esp, 0x20
cmp dword [esp + 0xb1e8], 0
mov edx, dword [esp + 0xb138]
mov ecx, dword [esp + 0xb13c]
je 0x401c10
test edx, edx
jle 0x401c10
mov dword [esp + 0xb0dc], ecx
mov esi, ecx
mov dword [esp + 0xb14c], ebx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0xb1bc], eax
mov edi, ecx
mov dword [esp + 0xb1b8], edx
mov dword [esp + 0xb1d0], edi
mov ebx, ecx
mov dword [esp + 0xb1cc], esi
lea eax, [edi + edi*4]
shl eax, 7
add eax, esi
mov dword [esp + 0xb1e0], eax
mov edx, ecx
lea edi, [ebx + 1]
mov dword [esp + 0xb1e4], edi
mov esi, 9
cmp edi, 5
mov edi, dword [esp + 0xb1e8]
jl 0x401b7d
mov esi, 0xa
mov dword [esp + 0xb1f0], esi
shl ebx, 7
add ebx, eax
mov eax, dword [esp + 0xb1f0]
lea esi, [edx + 1]
cmp esi, 0x20
jge 0x401b9d
mov eax, 0x20
push eax
push dword [ebx + edx*4]
push str._i_c
push edi
call fcn.0042a24d
add esp, 0x10
mov edx, esi
cmp esi, 0x20
jl 0x401b89
mov edi, dword [esp + 0xb1e4]
mov eax, dword [esp + 0xb1e0]
xor ecx, ecx
mov ebx, edi
cmp edi, 5
jl 0x401b54
mov edi, dword [esp + 0xb1d0]
mov esi, dword [esp + 0xb1cc]
inc edi
cmp edi, 2
jl 0x401b3c
mov eax, dword [esp + 0xb1bc]
mov edx, dword [esp + 0xb1b8]
add esi, 0x520
inc eax
cmp eax, edx
jl 0x401b2c
mov ecx, dword [esp + 0xb0dc]
mov ebx, dword [esp + 0xb14c]
mov dword [esp + 0xc], edx
lea eax, [esp + 0xb140]
lea edx, [esp + 0xb144]
call fcn.004041ac
mov esi, eax
mov edi, dword [esp + 0xb140]
lea edx, [esp + 0xb060]
mov dword [esp + 0xc], edx
mov eax, edi
mov edx, esi
mov ecx, 0x20
call fcn.00402b4c
mov dword [esp + 0xb14c], ebx
lea ebx, [esp + 0xb1c0]
lea eax, [esp + 0x5080]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov eax, edi
mov edx, esi
mov ecx, 0x20
call 0x4026ac
cmp dword [esp + 0xb1c0], 0
je 0x401c57
mov dword [esp + 0xb150], esi
lea ecx, [esp + 0x80]
xor eax, eax
lea edx, [esp + 0x5080]
mov esi, eax
shl esi, 8
add esi, ecx
mov ebx, eax
shl ebx, 0xa
add ebx, edx
mov edx, 0x100
mov edi, dword [ebx + edx - 4]
mov dword [esi + edx - 4], edi
mov edi, dword [ebx + edx - 8]
mov dword [esi + edx - 8], edi
mov edi, dword [ebx + edx - 0xc]
mov dword [esi + edx - 0xc], edi
mov edi, dword [ebx + edx - 0x10]
mov dword [esi + edx - 0x10], edi
sub edx, 0x10
jne 0x401ca8
inc eax
cmp eax, 0x10
jl 0x401c8e
mov esi, dword [esp + 0xb150]
mov ebx, dword [esp + 0xb14c]
mov edi, dword [esp + 0xb144]
lea edx, [esp + 0xb060]
mov eax, edi
mov ecx, 0x80
mov dword [esp + 0xc], edx
mov edx, esi
call fcn.00402b4c
mov dword [esp + 0xb14c], ebx
lea ebx, [esp + 0xb1c0]
lea eax, [esp + 0x5080]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov eax, edi
mov edx, esi
mov ecx, 0x80
call 0x4026ac
cmp dword [esp + 0xb1c0], 0
je 0x401d0f
xor edx, edx
mov dword [esp + 0xb1d8], edx
mov edx, dword [esp + 0xb1d8]
mov eax, edx
shl eax, 8
lea ecx, [esp + eax + 0x1080]
shl edx, 0xa
mov esi, 0x100
lea ebx, [esp + edx + 0x5080]
mov edi, dword [ebx + esi - 4]
mov dword [ecx + esi - 4], edi
mov edi, dword [ebx + esi - 8]
mov dword [ecx + esi - 8], edi
mov edi, dword [ebx + esi - 0xc]
mov dword [ecx + esi - 0xc], edi
mov edi, dword [ebx + esi - 0x10]
mov dword [ecx + esi - 0x10], edi
sub esi, 0x10
jne 0x401d61
lea ecx, [esp + eax + 0x2080]
lea ebx, [esp + edx + 0x5180]
mov esi, 0x100
mov edi, dword [ebx + esi - 4]
mov dword [ecx + esi - 4], edi
mov edi, dword [ebx + esi - 8]
mov dword [ecx + esi - 8], edi
mov edi, dword [ebx + esi - 0xc]
mov dword [ecx + esi - 0xc], edi
mov edi, dword [ebx + esi - 0x10]
mov dword [ecx + esi - 0x10], edi
sub esi, 0x10
jne 0x401d99
lea ecx, [esp + eax + 0x3080]
lea ebx, [esp + edx + 0x5280]
mov esi, 0x100
mov edi, dword [ebx + esi - 4]
mov dword [ecx + esi - 4], edi
mov edi, dword [ebx + esi - 8]
mov dword [ecx + esi - 8], edi
mov edi, dword [ebx + esi - 0xc]
mov dword [ecx + esi - 0xc], edi
mov edi, dword [ebx + esi - 0x10]
mov dword [ecx + esi - 0x10], edi
sub esi, 0x10
jne 0x401dd1
lea ecx, [esp + eax + 0x4080]
lea eax, [esp + edx + 0x5380]
mov edx, 0x100
mov ebx, dword [eax + edx - 4]
mov dword [ecx + edx - 4], ebx
mov esi, dword [eax + edx - 8]
mov dword [ecx + edx - 8], esi
mov edi, dword [eax + edx - 0xc]
mov dword [ecx + edx - 0xc], edi
mov ebx, dword [eax + edx - 0x10]
mov dword [ecx + edx - 0x10], ebx
sub edx, 0x10
jne 0x401e09
mov eax, dword [esp + 0xb1d8]
inc eax
mov dword [esp + 0xb1d8], eax
cmp eax, 0x10
jl 0x401d3f
mov ebx, dword [esp + 0xb14c]
lea edx, [esp + 0x80]
mov eax, str.CODES
call fcn.00403340
mov ecx, dword [esp + 0xb1ec]
push 0x5000
lea edx, [esp + 0x84]
push edx
push 0
push dword [ebx + ecx + 0x35c]
call fcn.00417ff0
mov ecx, dword [esp + 0xb1fc]
push 8
lea edx, [ecx + ebx + 0x2f8]
push edx
push 5
push dword [ebx + ecx + 0x35c]
call fcn.00417ff0
push dword [esp + 0xb164]
call fcn.0042a32d
push dword [esp + 0xb164]
call fcn.0042a32d
add esp, 0x28
mov edx, dword [esp + 0xb148]
add ebx, 0x360
inc edx
cmp edx, dword [esp + 0xb1c4]
mov dword [esp + 0xb148], edx
jl 0x401aad
mov edi, dword [esp + 0xb1b4]
mov ebx, dword [esp + 0xb1b0]
mov esi, dword [esp + 0xb178]
lea eax, [esp + 0xb0e0]
push eax
push esi
call fcn.0042a35c
add esp, 8
mov ecx, dword [esp + 0xb1c4]
xor eax, eax
mov dword [esp + 0xb1ac], eax
test ecx, ecx
mov dword [esp + 0xb184], eax
jle 0x401f80
mov dword [esp + 0xb1b0], ebx
mov dword [esp + 0xb178], esi
xor edx, edx
mov esi, edx
mov ebx, edx
mov dword [esp + 0xc], 0x434110
lea eax, [esp + 0xb1a0]
mov ecx, esi
add ecx, dword [esp + 0xb1ec]
mov dword [esp + 0x10], ecx
lea edx, [esp + 0xb1ac]
lea ecx, [esp + 0xb1a4]
call fcn.00403440
mov ecx, dword [esp + 0xb1c4]
add esi, 0x360
inc ebx
cmp ebx, ecx
jl 0x401f31
mov ebx, dword [esp + 0xb1b0]
mov esi, dword [esp + 0xb178]
test edi, edi
je 0x40243a
lea edi, [esp + 0xb17c]
mov dword [esp + 0xc], edi
lea eax, [esp + 0xb184]
mov dword [esp + 0x10], eax
lea edx, [esp + 0xb180]
mov dword [esp + 0x14], edx
lea edi, [esp + 0xb1a0]
mov dword [esp + 0x18], edi
lea eax, [esp + 0xb1ac]
mov dword [esp + 0x1c], eax
lea edx, [esp + 0xb1a4]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xb1ec]
lea eax, [esp + 0xb114]
call fcn.00403490
mov dword [esp + 0xb1b0], ebx
xor eax, eax
xor edi, edi
mov dword [esp + 0xb1b4], edi
mov edi, dword [esp + 0xb188]
mov ebx, eax
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
mov dword [esp + 0xc], edi
xor ecx, ecx
call fcn.00403a90
test ebx, ebx
jne 0x4020ee
lea edx, [esp + 0xb0c0]
mov eax, esi
call fcn.004032a8
test eax, eax
je 0x4020ee
lea edx, [esp + 0xb104]
push edx
lea ecx, [esp + 0xb0c4]
push ecx
call fcn.004062c0
add esp, 8
test eax, eax
jle 0x401ff8
mov dword [esp + 0xb188], edi
mov dword [esp + 0xb178], esi
lea esi, [esp + 0xb104]
lea edi, [esp + 0xb0c0]
push esi
call fcn.00405910
pop ecx
test eax, eax
je 0x40240f
lea edx, [esp + 0xb17c]
mov dword [esp + 0xc], edx
lea edx, [esp + 0xb184]
mov eax, esi
mov dword [esp + 0x10], edx
lea ecx, [esp + 0xb180]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xb1c4]
lea edx, [esp + 0xb1a0]
mov dword [esp + 0x18], edx
lea edx, [esp + 0xb1ac]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xb1a4]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xb1ec]
call fcn.00403490
push esi
push edi
call fcn.004062c0
add esp, 8
test eax, eax
jg 0x402067
mov edi, dword [esp + 0xb188]
mov esi, dword [esp + 0xb178]
jmp 0x401ff8
mov ebx, dword [esp + 0xb1b0]
mov dword [esp + 0xb188], edi
mov edi, dword [esp + 0xb1b4]
cmp dword [esp + 0xb1c4], 0
jle 0x4021b3
lea eax, [esp + 0xb0a0]
mov dword [esp + 0xb1b4], edi
mov dword [esp + 0xb1b0], ebx
mov ebx, eax
xor ecx, ecx
mov dword [esp + 0xb178], esi
mov edi, ecx
mov esi, ecx
mov edx, dword [esp + 0xb1ec]
push ebx
lea eax, [edx + edi + 0x348]
push eax
push dword [edi + edx + 0x35c]
call fcn.00418200
add esp, 0xc
test eax, eax
jle 0x40218e
mov eax, dword [esp + 0xb1ec]
push ebx
lea eax, [edi + eax + 0x168]
push eax
call fcn.00405a20
mov edx, dword [esp + 0xb1f4]
push ebx
lea eax, [edx + edi + 0x348]
push eax
push dword [edi + edx + 0x35c]
call fcn.00418200
add esp, 0x14
jmp 0x402154
add edi, 0x360
inc esi
cmp esi, dword [esp + 0xb1c4]
jl 0x402135
mov edi, dword [esp + 0xb1b4]
mov ebx, dword [esp + 0xb1b0]
mov esi, dword [esp + 0xb178]
mov eax, dword [esp + 0xb188]
mov edx, dword [esp + 0xb1ac]
mov dword [esp + 0xc], eax
mov ecx, 1
mov eax, dword [esp + 0xb1a0]
call fcn.00403a90
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
lea ecx, [esp + 0xb104]
call fcn.00403a40
mov dword [esp + 0xb1b4], edi
mov dword [esp + 0xb1b0], ebx
lea ebx, [esp + 0xb104]
lea edi, [esp + 0xb0c0]
mov eax, esi
mov edx, edi
call fcn.004032a8
test eax, eax
je 0x402427
push ebx
push edi
call fcn.004062c0
add esp, 8
test eax, eax
jle 0x40220c
mov dword [esp + 0xb178], esi
mov esi, dword [esp + 0xb188]
push ebx
call fcn.00405910
pop ecx
test eax, eax
jne 0x402293
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
mov ecx, ebx
call fcn.00403a40
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
mov dword [esp + 0xc], esi
xor ecx, ecx
call fcn.00403a90
push ebx
push edi
call fcn.004062c0
add esp, 8
test eax, eax
jg 0x402239
lea esi, [esi]
mov esi, dword [esp + 0xb178]
jmp 0x40220c
mov ebx, dword [esp + 0xb1b0]
mov esi, dword [esp + 0xb178]
mov eax, dword [esp + 0xb104]
mov dword [esp + 0xb114], eax
mov edx, dword [esp + 0xb108]
mov dword [esp + 0xb118], edx
mov edi, dword [esp + 0xb10c]
mov dword [esp + 0xb11c], edi
mov eax, dword [esp + 0xb110]
mov dword [esp + 0xb120], eax
mov edi, 1
mov eax, dword [esp + 0xb188]
mov edx, dword [esp + 0xb1ac]
mov dword [esp + 0xc], eax
mov ecx, 1
mov eax, dword [esp + 0xb1a0]
call fcn.00403a90
cmp dword [esp + 0xb1c4], 0
jle 0x40234b
mov dword [esp + 0xb1b0], ebx
mov dword [esp + 0xb178], esi
xor edx, edx
mov esi, edx
mov ebx, edx
mov eax, esi
add eax, dword [esp + 0xb1ec]
call fcn.00403b80
add esi, 0x360
inc ebx
cmp ebx, dword [esp + 0xb1c4]
jl 0x40231f
mov ebx, dword [esp + 0xb1b0]
mov esi, dword [esp + 0xb178]
cmp dword [esp + 0xb184], 0
jle 0x402383
mov dword [esp + 0xb178], esi
xor eax, eax
mov esi, eax
lea eax, [esi + esi*4]
shl eax, 5
add eax, dword [esp + 0xb17c]
call fcn.00403be0
inc esi
cmp esi, dword [esp + 0xb184]
jl 0x402360
mov esi, dword [esp + 0xb178]
test ebx, ebx
jne 0x4012bd
mov eax, dword [esi + 0xc]
test al, 0x10
jne 0x40239a
test al, 0x20
je 0x4012bd
mov ebx, dword [esp + 0xb188]
mov edi, dword [esp + 0xb1e8]
push dword [esp + 0xb17c]
call fcn.0042a32d
push dword [esp + 0xb1f0]
call fcn.0042a32d
push dword [esp + 0xb1a8]
call fcn.0042a32d
lea eax, [esp + 0xb0f4]
push eax
call fcn.004061a0
lea eax, [esp + 0xb0d0]
push eax
call fcn.004061a0
push ebx
call fcn.0042a374
push esi
call fcn.0042a374
add esp, 0x1c
test edi, edi
je 0x402400
push edi
call fcn.0042a374
pop ecx
xor eax, eax
add esp, 0xb1f4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0xb188]
mov esi, dword [esp + 0xb178]
mov ebx, 1
jmp 0x401ff8
mov edi, dword [esp + 0xb1b4]
mov ebx, dword [esp + 0xb1b0]
jmp 0x4022de
mov dword [esp + 0xb1b4], edi
mov edi, dword [esp + 0xb188]
mov dword [esp + 0xb1b0], ebx
xor eax, eax
mov ebx, eax
jmp 0x402019
mov edi, dword [esp + 0xb1b4]
mov ebx, dword [esp + 0xb1b0]
mov esi, dword [esp + 0xb178]
jmp 0x401a7f
mov edx, dword [esp + 0xb198]
push dword [edx + 0x2e8]
mov eax, 0x468740
push str.Error:_Initial_page_granule_position_mismatch_in_stream_0x_08lX._n
push eax
call fcn.0042a24d
push 1
call fcn.0042a178
jmp 0x402699
mov edx, ecx
push dword [edx + 0x2e8]
mov eax, 0x468740
push str.Error:_No_granule_position_set_on_first_page_with_completed_data_packets_in_nstream_0x_08lX._n
push eax
call fcn.0042a24d
push 1
call fcn.0042a178
jmp 0x402699
mov edi, dword [esp + 0xb1d4]
mov dword [esp + 0xb1dc], esi
cmp dword [esp + 0xb1dc], 0
jg 0x40176a
jmp 0x401965
mov edx, dword [esp + 0xb1d4]
mov ecx, dword [esp + 0xb1ec]
push dword [edx + ecx + 0x2e8]
mov eax, 0x468740
push str.Error:_Headers_appeared_after_data_packets_began_in_Theora_stream_0x_08lX._n
push eax
call fcn.0042a24d
push 1
call fcn.0042a178
jmp 0x402699
mov dword [esp + 0xb1b4], edi
mov dword [esp + 0xb1b0], ebx
mov dword [esp + 0xb178], esi
lea esi, [esp + 0xb104]
lea edi, [esp + 0xb0e8]
xor ebx, ebx
jmp 0x4016ab
cmp ebx, eax
jge 0x40150a
lea ebx, [esp + 0xb104]
push ebx
push edi
call fcn.004062c0
add esp, 8
test eax, eax
jle 0x402572
mov eax, dword [esp + 0xb1a0]
mov edx, dword [esp + 0xb1ac]
mov ecx, ebx
call fcn.00403a40
jmp 0x401412
mov eax, esi
mov edx, edi
call fcn.004032a8
test eax, eax
jne 0x401412
mov eax, 0x468740
push eax
push str.End_of_file_while_searching_for_codec_headers._n
call fcn.0042a108
push 1
call fcn.0042a178
add esp, 0xc
mov edi, dword [esp + 0xb1b4]
mov ebx, dword [esp + 0xb1b0]
jmp 0x401635
mov eax, 0x468740
push eax
push str.Error_parsing_Theora_stream_headers__corrupt_stream__n
call fcn.0042a108
push 1
call fcn.0042a178
add esp, 0xc
mov ebx, dword [esp + 0xb1b0]
lea edi, [esp + 0xb0e8]
jmp 0x401412
mov dword [esp + 0xb1b4], edi
mov dword [esp + 0xb1b0], ebx
lea edi, [esp + 0xb0e8]
jmp 0x401343
push 0x468740
push str.Cannot_seek_on_input_file._n
call fcn.0042a108
push 1
call fcn.0042a178
add esp, 0xc
test ebx, ebx
je 0x4013c1
jmp 0x401216
cmp eax, edx
jge 0x40120e
push 0x434328
mov ecx, dword [ebp + 0xc]
push dword [ecx + eax*4]
call fcn.0042a0f5
mov edx, dword [ebp + 8]
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x402651
mov ecx, dword [0x45b808]
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
jmp 0x40120e
mov eax, dword [0x45b808]
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax]
push dword [edx + ecx*4]
push str.Unable_to_open_output_file__s._n
push 0x468740
call fcn.0042a24d
push 1
call fcn.0042a178
jmp 0x402699
mov eax, dword [0x45b808]
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax]
push dword [edx + ecx*4]
push str.Unable_to_open_input_file__s._n
push 0x468740
call fcn.0042a24d
push 1
call fcn.0042a178
add esp, 0x10
lea esi, [esi]
mov eax, dword [esp + 4]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
push edi
push esi
push ebp
push ebx
push ecx
push edx
push eax
mov eax, 0x4818
call fcn.0042a030
mov ecx, dword [esp + 0x4820]
mov edx, dword [esp + 0x481c]
mov eax, dword [esp + 0x4818]
mov dword [esp + 0x481c], ecx
mov dword [esp + 0x4818], eax
lea esi, [esp + 0x10]
push 0x4000
mov ebx, edx
push 0
push esi
call fcn.004315f0
add esp, 0xc
test ebx, ebx
jg 0x402704
cmp dword [esp + 0x481c], 0
jmp 0x40276c
xor ecx, ecx
cmp dword [esp + 0x481c], 0
jle 0x40276c
mov edx, dword [esp + 0x4818]
mov eax, ebx
mov dword [esp + 0x4804], eax
xor edi, edi
mov ebx, ecx
shl ebx, 4
mov ebp, dword [ebx + edx]
mov ebx, dword [ebx + edx + 0xc]
shl ebx, 0xa
add ebx, esi
mov esi, dword [esp + 0x481c]
mov eax, dword [ebp + edi*4]
cdq
add dword [ebx + edi*8], eax
adc dword [ebx + edi*8 + 4], edx
inc edi
cmp edi, esi
jl 0x40273a
mov edx, dword [esp + 0x4818]
mov eax, dword [esp + 0x4804]
lea esi, [esp + 0x10]
inc ecx
cmp ecx, eax
jl 0x402719
cmp dword [esp + 0x481c], 0
mov ebx, eax
mov eax, 0
jle 0x4029be
mov ecx, dword [esp + 0x4844]
mov dword [esp + 0x4804], ebx
xor edi, edi
mov dword [esp + 0x4010], eax
mov ebp, edi
mov edx, eax
shl edx, 0xa
lea ebx, [ecx + edx]
add edx, esi
mov dword [esp + 0x401c], edx
mov ecx, dword [esp + 0x401c]
mov dword [esp + 0x4018], ebx
mov dword [esp + 0x4014], ebp
lea edi, [ebx + ebp*8]
mov dword [esp + 0x4020], edi
lea ecx, [ecx + ebp*8]
xor edx, edx
xor eax, eax
lea ebp, [esp + 0x4024]
mov ebx, dword [ecx + eax*8 + 4]
mov edi, eax
shl edi, 5
add edi, ebp
xor esi, esi
mov dword [edi + 8], esi
mov dword [edi + 4], esi
mov esi, dword [ecx + eax*8]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov ebp, esi
shr ebp, 0x1b
shl esi, 5
shl ebx, 5
or ebp, ebx
mov ebx, ebp
sub ebx, 0
jl 0x40280a
or ebx, esi
je 0x40280a
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], ebp
jmp 0x40281f
mov dword [edi + 0x10], 1
mov esi, 1
xor ebp, ebp
mov dword [edi + 0x14], 0
mov dword [esp + 0x4820], edx
lea ebx, [esp + 0x4820]
test edx, edx
je 0x402861
mov dword [esp + 0x4814], eax
mov dword [esp + 0x4810], ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x14]
sub eax, esi
sbb ecx, ebp
jge 0x402853
mov ebx, edx
mov edx, dword [edx]
test edx, edx
jne 0x40283f
mov eax, dword [esp + 0x4814]
mov ecx, dword [esp + 0x4810]
mov dword [edi], edx
mov dword [ebx], edi
mov edx, dword [esp + 0x4820]
inc eax
cmp eax, 0x20
jl 0x4027c7
cmp dword [edx], 0
mov edi, dword [esp + 0x4020]
mov ebx, dword [esp + 0x4018]
mov ebp, dword [esp + 0x4014]
lea eax, [esp + 0x4424]
je 0x402954
mov dword [esp + 0x4020], edi
mov dword [esp + 0x4018], ebx
mov dword [esp + 0x4014], ebp
mov esi, eax
mov dword [eax + 4], edx
mov ecx, dword [edx]
mov dword [eax + 8], ecx
mov ecx, dword [edx]
mov ebx, dword [ecx + 0x1c]
add eax, 0x20
cmp ebx, dword [edx + 0x1c]
jge 0x4028cf
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
jmp 0x4028d2
mov ecx, dword [esi + 4]
mov ebx, dword [ecx + 0x1c]
mov dword [esi + 0x18], 0xffffffff
mov dword [esi + 0x1c], ebx
mov ecx, dword [edx]
mov ebp, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
add ebp, dword [ecx + 0x10]
adc ebx, dword [ecx + 0x14]
mov dword [esi + 0x10], ebp
mov dword [esi + 0x14], ebx
mov edx, dword [edx]
mov ecx, dword [edx]
test ecx, ecx
mov dword [esp + 0x480c], ecx
lea edx, [esp + 0x480c]
je 0x40292b
mov dword [esp + 0x4808], eax
mov eax, dword [ecx + 0x10]
mov edi, dword [ecx + 0x14]
sub eax, ebp
sbb edi, ebx
jge 0x402924
mov edx, ecx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x402910
mov eax, dword [esp + 0x4808]
mov dword [esi], ecx
mov dword [edx], esi
mov edx, dword [esp + 0x480c]
cmp dword [edx], 0
jne 0x4028b0
mov edi, dword [esp + 0x4020]
mov ebx, dword [esp + 0x4018]
mov ebp, dword [esp + 0x4014]
mov eax, dword [edx + 4]
mov esi, dword [edx + 8]
test eax, eax
je 0x402b24
mov dword [esp + 0xc], 1
mov edx, edi
xor ecx, ecx
call fcn.00404150
mov dword [esp + 0xc], 1
mov eax, esi
mov edx, edi
mov ecx, 1
call fcn.00404150
add ebp, 0x20
cmp ebp, dword [esp + 0x481c]
jl 0x4027a1
mov eax, dword [esp + 0x4010]
mov ecx, dword [esp + 0x4844]
lea esi, [esp + 0x10]
xor edi, edi
inc eax
cmp eax, 0x10
jl 0x402787
mov ebx, dword [esp + 0x4804]
mov ebp, 1
xor esi, esi
xor edi, edi
test ebx, ebx
jle 0x402af8
mov dword [esp + 0x4020], edi
mov dword [esp + 0x4014], esi
mov dword [esp + 0x4804], ebx
xor ecx, ecx
mov edi, dword [esp + 0x4818]
mov dword [esp + 0x4018], ecx
mov ebx, ecx
mov ecx, dword [esp + 0x481c]
shl ebx, 4
mov eax, dword [ebx + edi + 0xc]
mov dword [ebx + edi + 8], 0x7fffffff
mov dword [esp + 0x401c], eax
xor esi, esi
mov eax, 0x7fffffff
xor edx, edx
mov dword [ebx + edi + 0xc], 0
mov edi, dword [ebx + edi]
mov dword [esp + 0x4814], edi
mov dword [esp + 0x4808], esi
mov dword [esp + 0x4010], ebp
mov esi, edx
shl esi, 0xa
add esi, dword [esp + 0x4844]
xor ebp, ebp
test ecx, ecx
jle 0x402a82
mov dword [esp + 0x4810], edx
mov dword [esp + 0x480c], ebx
mov ebx, dword [esp + 0x4814]
xor edi, edi
mov edx, dword [ebx + edi*4]
imul edx, dword [esi + edi*8 + 4]
inc edi
add ebp, edx
cmp edi, ecx
jl 0x402a65
mov edx, dword [esp + 0x4810]
mov ebx, dword [esp + 0x480c]
mov esi, dword [esp + 0x4818]
sub ebp, dword [ebx + esi + 4]
cmp ebp, eax
jg 0x402aa4
mov eax, esi
mov dword [ebx + eax + 8], ebp
mov dword [esp + 0x4808], edx
mov dword [ebx + eax + 0xc], edx
mov eax, ebp
inc edx
cmp edx, 0x10
jl 0x402a3c
cdq
mov esi, dword [esp + 0x4808]
mov ecx, dword [esp + 0x4018]
inc ecx
mov ebp, dword [esp + 0x4010]
cmp esi, dword [esp + 0x401c]
je 0x402acf
mov ebp, 0
add dword [esp + 0x4014], eax
adc dword [esp + 0x4020], edx
cmp ecx, dword [esp + 0x4804]
jl 0x4029e6
mov edi, dword [esp + 0x4020]
mov esi, dword [esp + 0x4014]
push edi
push esi
push str.After_K_means:__lli_wasted_bits._n
push 0x468740
call fcn.0042a24d
add esp, 0x10
mov ecx, dword [esp + 0x4848]
mov dword [ecx], ebp
mov eax, esi
mov edx, edi
add esp, 0x4824
pop ebx
pop ebp
pop esi
pop edi
ret
test esi, esi
jne 0x402962
mov edx, dword [edx + 0x18]
xor eax, eax
mov dword [edi + edx*8], eax
mov dword [edi + edx*8 + 4], eax
jmp 0x402989