Function at 0x4dc1b5
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [ebx + 8]
mov dword [ebp - 0x1f4], esi
mov dword [ebp - 0x208], eax
mov esi, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x1f0], edi
movzx ecx, byte [esi + 0x16d]
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 0x3f8]
and ecx, 0x10
lea eax, [ebp - 0x3a4]
push eax
shr ecx, 4
lea edx, [ebp - 0x1cc]
push edx
mov dword [ebp - 0xc], ecx
lea esi, [ebx + 0x10]
push esi
lea edi, [ebx + 0xc]
push edi
call fcn.00501270
add esp, 0x10
test eax, eax
jne 0x4dd953
mov edi, dword [ebp - 0x1c4]
cmp edi, 2
je 0x4dd9d9
cmp edi, 1
je 0x4dd16d
mov eax, dword [ebp - 8]
movzx ecx, byte [eax + 0x16d]
test cl, 0x20
je 0x4dab60
movsx edx, byte [eax + 0x158]
test edx, edx
jne 0x4dab60
cmp dword [ebp - 0x1c0], 1
jle 0x4dab60
cmp edi, 5
jl 0x4dab60
cmp edi, 0x11
jle 0x4dab54
cmp edi, 0x19
jl 0x4dab60
cmp edi, 0x1f
jle 0x4dab54
cmp edi, 0x32
jl 0x4dab4a
cmp edi, 0x34
jle 0x4dab54
jmp 0x4dab60
cmp edi, 0x28
jl 0x4dab60
cmp edi, 0x30
jg 0x4dab60
mov dword [ebp - 0x1a8], 1
jmp 0x4dab68
xor eax, eax
mov dword [ebp - 0x1a8], eax
mov eax, dword [ebp - 0x3a4]
cmp dword [ebp - 0x1a8], 0
je 0x4dab80
cmp eax, 5
je 0x4daef2
cmp eax, 7
jl 0x4daccc
cmp eax, 8
jg 0x4daccc
mov edx, dword [ebp - 0x1c0]
xor eax, eax
mov dword [ebp - 0x1b0], eax
test edx, edx
mov dword [ebp - 0x20c], edx
je 0x4dabbd
mov eax, dword [ebp - 0x1c8]
cdq
mov esi, dword [ebp - 0x20c]
idiv esi
mov esi, eax
jmp 0x4dabc1
xor eax, eax
xor esi, esi
mov edx, dword [ebp - 0x20c]
test esi, esi
mov dword [ebp - 0x1ac], edx
jne 0x4dabdd
mov dword [ebp - 4], 1
jmp 0x4daac0
cmp edi, 0x34
je 0x4dabec
cmp edi, 0x1c
jl 0x4dac07
cmp edi, 0x2c
jg 0x4dac07
mov edx, dword [ebp - 0x20c]
mov edi, 1
add edx, edx
mov dword [ebp - 0x20c], edx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x10], edi
jmp 0x4dac0e
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x3a0]
test eax, eax
jle 0x4dac71
mov edx, dword [ebp - 0x20c]
cmp edx, dword [ebp - 0x390]
jne 0x4dac3d
mov edx, dword [ebp - 0x394]
cmp edx, dword [ebp - 0x398]
jg 0x4dac3d
cmp edx, 1
je 0x4daf09
xor ecx, ecx
lea edi, [ecx*8]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + edi - 0x394]
mov edi, dword [ebp + edi - 0x390]
mov dword [ebp + ecx*4 - 0x10c], edx
mov dword [ebp + ecx*4 - 0x90], edi
mov dword [ebp + ecx*4 - 0x188], edx
inc ecx
cmp ecx, eax
jl 0x4dac3f
xor ecx, ecx
test eax, eax
jle 0x4dac96
xor edx, edx
mov edi, dword [ebp + edx*4 - 0x188]
sub edi, dword [ebp + edx*4 - 0x10c]
imul edi, dword [ebp + edx*4 - 0x90]
inc edx
add ecx, edi
cmp edx, eax
jl 0x4dac79
add ecx, dword [ebp - 0x39c]
lea edx, [ebp - 0x3a4]
push edx
mov dword [ebp - 0x1cc], ecx
lea edi, [ebp - 0x188]
push edi
push 0
call fcn.00501790
add esp, 0xc
mov edx, dword [ebp - 8]
mov dword [edx + 0x128], 0
jmp 0x4dadf8
cmp eax, 6
je 0x4dacda
cmp eax, 5
jne 0x4dada0
xor eax, eax
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1c0], 0
je 0x4dabd1
mov eax, dword [ebp - 0x1c8]
test eax, eax
mov dword [ebp - 0x1ac], eax
je 0x4dabd1
test cl, 0x10
je 0x4dad5c
cmp dword [ebp - 0x1b0], 0
jne 0x4dad50
push dword [ebp - 8]
lea eax, [ebp - 0x1cc]
push eax
call fcn.00501e40
add esp, 8
test eax, eax
je 0x4dad50
mov eax, dword [ebp - 0x1c0]
test eax, eax
mov dword [ebp - 0x1ac], eax
je 0x4dad4a
mov eax, dword [ebp - 0x1c8]
cdq
mov ecx, dword [ebp - 0x1ac]
idiv ecx
mov esi, eax
jmp 0x4dad61
xor eax, eax
xor esi, esi
jmp 0x4dad61
xor edx, edx
mov esi, 1
mov dword [ebp - 0xc], edx
jmp 0x4dad61
mov esi, 1
mov edx, dword [ebp - 8]
test byte [edx + 0x168], 2
je 0x4dadf8
test esi, esi
jne 0x4dad94
mov eax, edx
mov dword [ebp - 4], 1
mov dword [eax + 0x128], 1
movzx ecx, byte [eax + 0x16d]
jmp 0x4daac0
mov dword [edx + 0x128], 0
jmp 0x4dadf8
cmp edi, 0x34
je 0x4dadaf
cmp edi, 0x1c
jl 0x4dadc2
cmp edi, 0x2c
jg 0x4dadc2
mov eax, dword [ebp - 0x1c0]
mov esi, 2
mov dword [ebp - 0x1ac], eax
jmp 0x4dade3
mov eax, dword [ebp - 0x1c8]
test eax, eax
mov dword [ebp - 0x1ac], eax
jne 0x4dadde
mov dword [ebp - 4], 1
jmp 0x4daac0
mov esi, 1
mov edi, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 0x1b0], edx
mov dword [edi + 0x128], 0
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1a4], ecx
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 4], 0
je 0x4db054
cmp esi, 1
jle 0x4daedf
mov eax, dword [ebp - 0x3a4]
cmp eax, 7
je 0x4dae3b
cmp eax, 8
jne 0x4daec0
test edi, edi
je 0x4dae52
mov edi, dword [ebp - 0x1c0]
xor eax, eax
add dword [ebp - 0x1cc], edi
dec esi
xor edi, edi
jmp 0x4dae14
cmp dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x3a0]
je 0x4dae63
mov edi, 1
xor eax, eax
test ecx, ecx
jle 0x4dae9a
mov dword [ebp - 0x10], edi
xor edx, edx
mov dword [ebp - 0x18c], esi
mov esi, dword [ebp + edx*4 - 0x188]
sub esi, dword [ebp + edx*4 - 0x10c]
imul esi, dword [ebp + edx*4 - 0x90]
inc edx
add eax, esi
cmp edx, ecx
jl 0x4dae74
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
add eax, dword [ebp - 0x39c]
lea edx, [ebp - 0x188]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x3a4]
push eax
push edx
push 0
call fcn.00501790
add esp, 0xc
jmp 0x4daecc
mov eax, dword [ebp - 0x1c0]
add dword [ebp - 0x1cc], eax
mov edx, dword [ebp - 8]
dec esi
mov dword [edx + 0x128], 0
jmp 0x4dae14
nop
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], edi
movzx ecx, byte [eax + 0x16d]
jmp 0x4daac0
xor eax, eax
mov dword [ebp - 0x1b0], 1
mov dword [ebp - 0x1a8], eax
jmp 0x4dace2
cmp eax, 1
jg 0x4db000
test cl, 0x10
jne 0x4daf54
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x1ac], eax
mov dword [ecx + 0x128], 0
cmp dword [ebp - 4], 0
je 0x4db036
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x4daac0
push dword [ebp - 8]
lea edx, [ebp - 0x1cc]
push edx
call fcn.00501e40
add esp, 8
test eax, eax
jne 0x4dafa7
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x1ac], eax
mov dword [ecx + 0x128], 0
cmp dword [ebp - 4], 0
je 0x4dd08c
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x4daac0
cmp dword [ebp - 0x1a8], 0
je 0x4dafed
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x39c]
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x1ac], eax
mov dword [ecx + 0x128], 0
cmp dword [ebp - 4], 0
je 0x4dd0f5
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x4daac0
mov eax, dword [ebp - 0x3a0]
test eax, eax
jg 0x4dac3d
jmp 0x4dac71
mov dword [ebp - 0x18c], esi
mov edx, 1
mov dword [ebp - 0x3f8], ecx
lea ecx, [edx*8]
lea esi, [ecx + edx*4]
mov ecx, dword [ebp + esi - 0x394]
cmp ecx, 1
je 0x4dd123
mov esi, dword [ebp - 0x18c]
jmp 0x4dac3d
xor eax, eax
mov ecx, 1
mov esi, ecx
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1a4], ecx
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1a0], edx
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1d4], edx
cmp dword [ebp - 0x1a8], 0
je 0x4db2f5
mov edx, dword [ebp - 0x1ac]
lea edx, [edx + 3]
and edx, dword [ebp - 0x1a0]
test dl, 3
jne 0x4db246
cmp dword [ebp - 0x1ac], 4
je 0x4db20f
cmp dword [ebp - 0x1ac], 8
jne 0x4db110
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x10], edi
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
shr edx, 0x18
shr ecx, 8
or edx, ecx
mov ecx, eax
and ecx, 0xff00
shl ecx, 8
shl eax, 0x18
or edx, ecx
or edx, eax
mov eax, edi
mov dword [ebp - 0x1e8], edx
mov ecx, edi
and eax, 0xff0000
mov edx, edi
shr ecx, 0x18
and edx, 0xff00
shr eax, 8
shl edx, 8
or ecx, eax
shl edi, 0x18
or ecx, edx
or ecx, edi
mov dword [ebp - 0x1e4], ecx
mov edi, dword [ebp - 0x10]
jmp 0x4db2e7
cmp dword [ebp - 0x1ac], 0x10
jne 0x4db1f6
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18c], esi
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, eax
mov dword [ebp - 0x224], edi
mov edi, eax
and edi, 0xff0000
shr edx, 0x18
shr edi, 8
or edx, edi
mov edi, eax
and edi, 0xff00
shl edi, 8
shl eax, 0x18
or edx, edi
or edx, eax
mov edi, esi
mov dword [ebp - 0x1e8], edx
mov edx, esi
and edx, 0xff0000
mov eax, esi
shr edi, 0x18
and eax, 0xff00
shr edx, 8
shl eax, 8
or edi, edx
shl esi, 0x18
or edi, eax
or edi, esi
mov esi, ecx
mov edx, ecx
and esi, 0xff0000
mov eax, ecx
shr edx, 0x18
and eax, 0xff00
shr esi, 8
shl eax, 8
or edx, esi
shl ecx, 0x18
or edx, eax
or edx, ecx
mov dword [ebp - 0x1e0], edx
mov edx, dword [ebp - 0x224]
mov ecx, edx
mov esi, edx
and ecx, 0xff0000
mov eax, edx
shr esi, 0x18
and eax, 0xff00
shr ecx, 8
shl eax, 8
or esi, ecx
shl edx, 0x18
or esi, eax
or esi, edx
mov dword [ebp - 0x1e4], edi
mov dword [ebp - 0x1dc], esi
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
jmp 0x4db2e7
mov edx, dword [ebp - 0x1a0]
movzx edx, word [edx]
rol dx, 8
mov word [ebp - 0x1e8], dx
jmp 0x4db2e7
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx]
mov ecx, eax
mov edx, eax
and ecx, 0xff0000
shr edx, 0x18
shr ecx, 8
or edx, ecx
mov ecx, eax
and ecx, 0xff00
shl ecx, 8
shl eax, 0x18
or edx, ecx
or edx, eax
mov dword [ebp - 0x1e8], edx
jmp 0x4db2e7
cmp dword [ebp - 0x1ac], 1
je 0x4dbb8f
mov edx, dword [ebp - 0x1ac]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
mov dword [ebp - 0x194], eax
test eax, eax
jle 0x4db2e7
mov eax, edx
xor edx, edx
mov ecx, dword [ebp - 0x1a0]
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x10], edi
add ecx, eax
mov dword [ebp - 0x19c], ecx
lea eax, [ebp + eax - 0x1e8]
mov dword [ebp - 0x198], eax
xor eax, eax
mov esi, eax
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
movzx edi, byte [edx + eax]
movzx eax, byte [esi + ecx - 1]
xor edi, eax
mov byte [ebp + edx - 0x1e8], al
inc edx
movzx ecx, byte [esi + ecx - 1]
dec esi
mov eax, dword [ebp - 0x190]
xor ecx, edi
mov edi, dword [ebp - 0x198]
mov byte [eax + edi - 1], cl
dec eax
cmp edx, dword [ebp - 0x194]
jl 0x4db298
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
lea edx, [ebp - 0x1e8]
mov dword [ebp - 0x1a0], edx
jmp 0x4db33f
cmp dword [ebp - 0xc], 0
je 0x4db33f
cmp dword [ebp - 0x1c4], 0x38
je 0x4db33f
lea edx, [ebp - 0x1e8]
push edx
push dword [ebp - 8]
push dword [ebp - 0x1ac]
lea edx, [ebp - 0x1cc]
push edx
call fcn.005019a0
add esp, 0x10
test eax, eax
lea edx, [ebp - 0x1e8]
mov dword [ebp - 0x1a0], edx
je 0x4db33f
push 0
push 0x5f
call fcn.004fc9b0
add esp, 8
mov edx, dword [ebp - 8]
movzx eax, byte [edx + 0x16f]
test al, 0x20
je 0x4db35f
cmp esi, 1
je 0x4dbba3
and eax, 0xffffffdf
mov byte [edx + 0x16f], al
test al, 0x40
jne 0x4dae1e
mov edx, dword [edx + 0x138]
cmp edx, 7
je 0x4db832
mov dword [ebp - 0x1f8], edx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x44]
mov ecx, dword [edx + 0x3c]
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1ec], ecx
add edx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x1f8]
jae 0x4dbc79
mov eax, dword [ebp - 8]
movsx eax, byte [eax + 0x154]
cmp eax, 5
mov dword [ebp - 0x1bc], eax
je 0x4dcf88
cmp edx, 0xb
jne 0x4db3d2
cmp dword [ebp - 0x1bc], 4
je 0x4dbc47
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x10], edi
mov esi, dword [ebp - 8]
cmp dword [ebp - 0x1bc], 3
je 0x4dcc06
mov edi, dword [ebp - 0x1d4]
cmp edi, 0x200
mov eax, dword [esi + 0xf8]
mov dword [ebp - 0x1d8], eax
jg 0x4db40a
mov edi, 0x200
shr eax, 3
cmp eax, edi
jge 0x4db413
mov eax, edi
cmp edx, 0xb
jne 0x4db448
cmp dword [ebp - 0x1bc], 5
je 0x4db42a
cmp dword [ebp - 0x1bc], 4
jne 0x4db448
mov edi, dword [esi + 0x13c]
test edi, edi
jne 0x4db439
mov edi, 0x20000
sub edi, dword [ebp - 0x1d0]
add edi, dword [esi + 0x38]
cmp edi, eax
jge 0x4db448
mov eax, edi
test byte [esi + 0x16f], 1
je 0x4db470
cmp edx, 0xb
jne 0x4db603
cmp dword [ebp - 0x1bc], 5
je 0x4db470
cmp dword [ebp - 0x1bc], 4
jne 0x4db603
add eax, 0xf
and eax, 0xfffffff0
push eax
mov edx, dword [esi + 0xec]
mov ecx, dword [esi + 0xfc]
mov edi, dword [esi + 0x40]
push esi
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x200], edi
call fcn.00501570
add esp, 8
test eax, eax
je 0x4db5fe
cmp dword [esi + 0x138], 0xb
jne 0x4db53d
movsx eax, byte [esi + 0x154]
cmp eax, 5
je 0x4db4c7
cmp eax, 4
jne 0x4db53d
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dbc8b
test byte [eax + 0x44], 2
je 0x4db50d
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4db4f5
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x42
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x42
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx eax, byte [esi + 0x16b]
test eax, 0x80
je 0x4dbe16
cmp byte [esi + 0x154], 1
je 0x4dbe16
mov edi, dword [ebp - 0x204]
mov eax, dword [ebp - 0x1d8]
mov dword [esi + 0xec], edi
mov edi, dword [esi + 0x3c]
mov dword [esi + 0xf8], eax
sub edi, dword [esi + 0x38]
mov eax, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x200]
mov dword [esi + 0xfc], edx
lea edx, [eax + edi]
mov dword [esi + 0x40], ecx
or byte [esi + 0x16f], 1
mov dword [esi + 0x118], edx
mov ecx, dword [ebx + 0xc]
cmp byte [ecx], 1
je 0x4dbdf6
mov eax, dword [esi + 0xe4]
call fcn.0050d6c0
mov dword [esi + 0x110], eax
mov dword [esi + 0x114], edx
push edi
push dword [esi + 0x38]
push esi
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dbd53
push dword [ebp - 0x1d4]
push dword [ebp - 0x1a0]
push esi
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dbcb0
jmp 0x4db649
mov ecx, dword [esi + 0x3c]
jmp 0x4db657
mov edi, dword [esi + 0x38]
sub ecx, edi
mov eax, dword [ebp - 0x1d4]
push ecx
push edi
push esi
lea edx, [eax + ecx]
add dword [esi + 0x118], edx
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dcb63
push dword [ebp - 0x1d4]
push dword [ebp - 0x1a0]
push esi
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dcac0
mov ecx, dword [esi + 0x38]
xor eax, eax
mov dword [esi + 0x3c], ecx
mov dword [ebp - 0x1d4], eax
mov edi, dword [ebp - 0x1d4]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x1d0], eax
mov edx, dword [esi + 0x138]
add edi, ecx
cmp eax, edi
jb 0x4dca63
mov dword [ebp - 8], esi
mov dword [ebp - 0x1ec], ecx
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
cmp dword [ebp - 0x1ac], 8
jne 0x4db702
test byte [ebp - 0x1ec], 7
jne 0x4db6c0
test byte [ebp - 0x1cc], 7
jne 0x4db6c0
xor eax, eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b8], 1
jmp 0x4db74b
test byte [ebp - 0x1ec], 3
jne 0x4db6ec
test byte [ebp - 0x1cc], 3
jne 0x4db6ec
xor eax, eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], 1
jmp 0x4db74b
xor eax, eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], eax
jmp 0x4db74b
cmp dword [ebp - 0x1ac], 4
jne 0x4db737
test byte [ebp - 0x1ec], 3
jne 0x4db6ec
test byte [ebp - 0x1cc], 3
jne 0x4db6ec
xor eax, eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], 1
jmp 0x4db74b
xor eax, eax
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b8], eax
cmp edx, 0xb
jne 0x4db791
mov edx, dword [ebp - 8]
movsx edx, byte [edx + 0x154]
cmp edx, 5
je 0x4db764
cmp edx, 4
jne 0x4db791
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1d0]
sub edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x1d0], edx
mov dword [eax + 0x148], edx
cmp dword [ebp - 0x1d4], 0
jg 0x4dbead
jmp 0x4dae1e
cmp dword [ebp - 0x1d4], 4
jne 0x4db7c1
cmp dword [ebp - 0x1b4], 0
je 0x4dc766
mov edx, dword [ebp - 0x1a0]
mov eax, ecx
mov edx, dword [edx]
mov dword [eax], edx
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db81b
cmp dword [ebp - 0x1d4], 8
jne 0x4db7f5
cmp dword [ebp - 0x1b8], 0
je 0x4dc766
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 8]
mov dword [ecx], eax
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db81b
cmp dword [ebp - 0x1d4], 1
jne 0x4dc766
mov edx, dword [ebp - 0x1a0]
movzx eax, byte [edx]
mov edx, ecx
mov byte [edx], al
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x1ec]
add edx, dword [ebp - 0x1d4]
mov dword [eax + 0x3c], edx
jmp 0x4dae1e
mov edx, dword [ebp - 8]
cmp dword [edx + 0x138], 7
jne 0x4dae1e
mov eax, edx
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x10], edi
mov edx, dword [eax + 0x44]
mov eax, dword [eax + 0x3c]
mov esi, dword [ebp - 8]
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jle 0x4db86a
mov ecx, dword [esi + 0x144]
jmp 0x4db97f
push esi
call fcn.004fdd40
add esp, 4
test eax, eax
jne 0x4dbb0c
push 0
push esi
and byte [esi + 0x170], 0xbf
call fcn.004ffcb0
add esp, 8
test eax, eax
jne 0x4dba75
movsx eax, byte [esi + 0x154]
dec eax
cmp eax, 7
ja case.default.0x4db8ad
mov eax, dword [eax*4 + 0x5600f0]
jmp eax
mov eax, dword [esi + 0x40]
test eax, eax
je 0x4db8bb
mov dword [esi + 0x3c], eax
jmp 0x4db8c1
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
mov edx, dword [esi + 0xf8]
lea edx, [eax + edx - 1]
mov dword [esi + 0x44], edx
jmp 0x4db969
mov edx, dword [esi + 0x40]
mov eax, 1
mov word [ebp - 0x3e4], ax
test edx, edx
je 0x4dba46
mov byte [edx + 2], al
mov eax, dword [esi + 0x40]
mov byte [eax + 3], 0
mov eax, dword [esi + 0x40]
add eax, 4
mov edx, dword [esi + 0xf8]
add edx, eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x44], edx
jmp 0x4db969
mov eax, dword [esi + 0x40]
test eax, eax
je 0x4db916
add eax, 4
jmp 0x4db91c
mov eax, dword [esi + 0x38]
add eax, 4
mov edx, dword [esi + 0xf8]
mov dword [esi + 0x3c], eax
lea edx, [eax + edx - 8]
mov dword [esi + 0x44], edx
jmp 0x4db969
mov eax, dword [esi + 0x40]
test eax, eax
je 0x4db93a
mov dword [esi + 0x3c], eax
jmp 0x4db940
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
mov edx, eax
add edx, dword [esi + 0xf8]
mov dword [esi + 0x44], edx
jmp 0x4db969
push 0x9eb
push str.for_wseq.c
push 2
push 8
call fcn.004fc9b0
add esp, 0x10
mov edx, dword [esi + 0x44]
mov eax, dword [esi + 0x3c]
mov edi, edx
sub edi, eax
mov ecx, dword [esi + 0x144]
cmp edi, ecx
jb 0x4db979
mov edi, ecx
mov dword [esi + 0x148], edi
test ecx, ecx
jge 0x4db9c1
mov byte [esi + 0x15e], 0x81
mov byte [eax], 0x81
xor edx, edx
movzx ecx, byte [esi + 0x15e]
cmp ecx, 0x81
mov eax, dword [esi + 0x3c]
sete dl
inc eax
sub ecx, edx
mov edx, dword [esi + 0x44]
mov edi, edx
sub edi, eax
cmp edi, ecx
mov dword [esi + 0x3c], eax
jb 0x4db9b5
mov edi, ecx
mov dword [esi + 0x144], ecx
mov dword [esi + 0x148], edi
cmp dword [ebp - 0x1d4], 0
je 0x4dba64
test ecx, ecx
jne 0x4db9f4
movzx edx, byte [esi + 0x15e]
mov dword [esi + 0x144], 0xffffffff
mov byte [eax], dl
mov eax, dword [esi + 0x3c]
inc eax
mov edx, dword [esi + 0x44]
mov dword [esi + 0x3c], eax
jmp 0x4db856
mov edi, dword [esi + 0x148]
mov ecx, dword [ebp - 0x1d4]
cmp edi, ecx
jb 0x4dba06
mov edi, ecx
test edi, edi
jbe 0x4db856
push edi
push dword [ebp - 0x1a0]
push eax
call fcn.0053ba70
add esp, 0xc
mov eax, dword [esi + 0x3c]
add eax, edi
mov edx, dword [esi + 0x44]
sub dword [ebp - 0x1d4], edi
add dword [ebp - 0x1a0], edi
sub dword [esi + 0x148], edi
sub dword [esi + 0x144], edi
mov dword [esi + 0x3c], eax
jmp 0x4db856
mov edi, dword [esi + 0x38]
mov byte [edi + 2], al
mov edx, dword [esi + 0x38]
movzx eax, byte [ebp - 0x3e3]
mov byte [edx + 3], al
mov eax, dword [esi + 0x38]
add eax, 4
jmp 0x4db8fa
mov dword [ebp - 8], esi
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
jmp 0x4dae1e
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dbae7
test byte [eax + 0x44], 2
je 0x4dbab7
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dba9f
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dbb6f
test byte [edx + 0x44], 2
je 0x4dbb44
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dbb31
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x1a0]
movzx edx, byte [edx]
mov byte [ebp - 0x1e8], dl
jmp 0x4db2e7
mov edx, dword [ebx + 0xc]
cmp byte [edx], 1
je 0x4dbbbc
mov edx, dword [ebp - 8]
and eax, 0xffffffdf
mov byte [edx + 0x16f], al
jmp 0x4db35f
mov edx, dword [ebp - 8]
and eax, 0xffffffdf
cmp byte [edx + 0x154], 1
je 0x4dbbd6
mov byte [edx + 0x16f], al
jmp 0x4db35f
test byte [edx + 0x16b], 8
je 0x4dbbfa
test byte [edx + 0x168], 1
je 0x4dbbf1
cmp byte [edx + 0x155], 2
je 0x4dbbcb
test byte [edx + 0x171], 0x40
jne 0x4dbbcb
mov ecx, edx
mov edx, dword [ebp - 0x1ac]
cmp edx, dword [ecx + 0xf8]
jne 0x4dbc12
add edx, dword [ecx + 0x3c]
cmp edx, dword [ecx + 0x44]
jbe 0x4dbc1f
mov edx, ecx
mov byte [edx + 0x16f], al
jmp 0x4db35f
mov edx, ecx
or eax, 0x40
mov ecx, dword [ebp - 0x1a0]
mov dword [edx + 0x80], ecx
mov ecx, dword [ebp - 0x1ac]
mov dword [edx + 0x134], ecx
mov byte [edx + 0x16f], al
jmp 0x4db35f
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x13c]
test eax, eax
jne 0x4dbc59
mov eax, 0x20000
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x38]
neg eax
add eax, dword [ebp - 0x1d0]
cmp eax, dword [ebp - 0x3d4]
jb 0x4db3d2
cmp dword [ebp - 0x1a4], 0
jne 0x4db688
jmp 0x4db74b
push esi
mov eax, 0x42
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dbd2e
test byte [eax + 0x44], 2
je 0x4dbcfe
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dbce6
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dbdd1
test byte [eax + 0x44], 2
je 0x4dbda1
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dbd89
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [ebp - 0x18c], 1
jne 0x4db5b1
mov eax, esi
call fcn.004ddbf0
or byte [esi + 0x16f], 2
jmp 0x4db5c8
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dbe88
test byte [eax + 0x44], 2
je 0x4dbe58
mov edx, 0x42
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dbe40
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x42
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x42
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x42
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18c], esi
mov eax, edx
mov edi, dword [ebp - 0x1d4]
mov esi, dword [ebp - 0x1ec]
test eax, eax
jle 0x4dbeeb
mov edx, dword [ebp - 8]
mov ecx, dword [edx + 0x13c]
test ecx, ecx
jne 0x4dbeda
mov ecx, 0x20000
cmp edi, ecx
jae 0x4dbeeb
cmp dword [ebp - 0x1b0], 0
je 0x4dc05e
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x40]
test edx, edx
je 0x4dbf2d
sub esi, edx
push 0
push dword [eax + 0x38]
push eax
mov dword [ebp - 0x3d8], edx
call fcn.004fe290
mov edx, dword [ebp - 0x3d8]
add esp, 0xc
test esi, esi
je 0x4dbf6f
mov ecx, dword [ebp - 8]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
cmp byte [ecx + 0x154], 5
je 0x4dc223
jmp 0x4dbf44
mov edx, dword [eax + 0x38]
sub esi, edx
je 0x4dbf6f
mov dword [eax + 0x3c], edx
cmp byte [eax + 0x154], 5
je 0x4dc2db
mov eax, dword [ebx + 0xc]
mov ecx, esi
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 8]
call fcn.004dd9f0
test eax, eax
jne 0x4dc255
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x44]
sub eax, dword [edx + 0x3c]
mov dword [edx + 0x148], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x13c]
test edx, edx
jne 0x4dbf81
mov edx, 0x20000
cmp edi, edx
jb 0x4dbfc2
cmp dword [ebp - 0x1b0], 0
jne 0x4dbfe3
cmp byte [eax + 0x154], 5
je 0x4dc380
mov esi, dword [ebx + 0xc]
movsx ecx, byte [esi]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov edx, dword [ebp - 0x1a0]
call fcn.004dd9f0
mov edi, eax
test edi, edi
jne 0x4dc2f8
xor eax, eax
xor edi, edi
jmp 0x4dbfcb
cmp dword [ebp - 0x1b0], 0
jne 0x4dbfe3
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1a4], 1
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp 0x4dc05e
cmp edi, 0x6400000
mov edx, edi
mov esi, dword [ebp - 0x1c0]
lea eax, [ebp - 0x3c8]
mov ecx, dword [ebp - 0x1a0]
jle 0x4dc004
mov edx, 0x6400000
dec esi
not esi
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], esi
mov esi, edx
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x1d4], edi
mov edi, eax
push edi
push 0
push esi
call fcn.004f1dd0
add esp, 0xc
test eax, eax
je 0x4dc050
sar esi, 1
mov dword [ebp - 0x3c8], 0
and esi, dword [ebp - 0x3c4]
jne 0x4dc027
jmp 0x4dc3b9
cmp dword [ebp - 0x3c8], 0
je 0x4dc027
jmp 0x4dc43f
cmp eax, edi
mov edx, eax
jb 0x4dc066
mov edx, edi
mov dword [ebp - 0x3a8], edx
cmp edx, 8
ja case.0x4dc07c.3
mov ecx, dword [edx*4 + 0x5600cc]
jmp ecx
cmp dword [ebp - 0x1b8], 0
je 0x4dc0a8
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esi + 4], edx
mov edx, dword [ebp - 8]
mov dword [esi], ecx
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp case.0x4dc07c.0
cmp dword [ebp - 0x1b4], 0
je 0x4dc0d5
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 8]
mov ecx, dword [edx]
mov dword [esi], ecx
mov ecx, dword [eax + 0x3c]
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 0x3c]
mov eax, dword [eax + 0x148]
jmp case.0x4dc07c.0
mov edx, dword [ebp - 0x1a0]
movzx eax, byte [edx]
mov byte [esi], al
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + 1]
mov esi, dword [eax + 0x3c]
mov byte [esi + 1], cl
mov esi, dword [eax + 0x3c]
movzx ecx, byte [edx + 2]
mov byte [esi + 2], cl
mov esi, dword [eax + 0x3c]
movzx ecx, byte [edx + 3]
mov byte [esi + 3], cl
mov esi, dword [eax + 0x3c]
movzx ecx, byte [edx + 4]
mov byte [esi + 4], cl
mov esi, dword [eax + 0x3c]
movzx ecx, byte [edx + 5]
mov byte [esi + 5], cl
mov esi, dword [eax + 0x3c]
movzx ecx, byte [edx + 6]
mov byte [esi + 6], cl
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 7]
mov byte [ecx + 7], dl
mov esi, dword [eax + 0x3c]
mov eax, dword [eax + 0x148]
jmp case.0x4dc07c.0
cmp dword [ebp - 0x1b4], 0
je 0x4dc15b
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [edx]
mov edx, dword [ebp - 8]
mov dword [esi], ecx
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp case.0x4dc07c.0
mov edx, dword [ebp - 0x1a0]
movzx eax, byte [edx]
mov byte [esi], al
mov eax, dword [ebp - 8]
movzx ecx, byte [edx + 1]
mov esi, dword [eax + 0x3c]
mov byte [esi + 1], cl
mov esi, dword [eax + 0x3c]
movzx ecx, byte [edx + 2]
mov byte [esi + 2], cl
mov ecx, dword [eax + 0x3c]
movzx edx, byte [edx + 3]
mov byte [ecx + 3], dl
mov esi, dword [eax + 0x3c]
mov eax, dword [eax + 0x148]
jmp case.0x4dc07c.0
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 8]
movzx eax, byte [ecx]
mov byte [esi], al
mov esi, dword [edx + 0x3c]
movzx ecx, byte [ecx + 1]
mov byte [esi + 1], cl
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp case.0x4dc07c.0
mov edx, dword [ebp - 0x1a0]
movzx ecx, byte [edx]
mov edx, dword [ebp - 8]
mov byte [esi], cl
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp case.0x4dc07c.0
push dword [ebp - 0x3a8]
push dword [ebp - 0x1a0]
push esi
call fcn.0053ba70
add esp, 0xc
mov edx, dword [ebp - 8]
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x3a8]
sub edi, ecx
add dword [ebp - 0x1a0], ecx
sub eax, ecx
add esi, ecx
mov dword [edx + 0x148], eax
test edi, edi
mov dword [edx + 0x3c], esi
jg 0x4dbec4
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
jmp 0x4dae1e
push esi
push edx
push dword [ebp - 8]
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dc23c
xor eax, eax
jmp 0x4dbf58
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 8]
mov dword [edx + 0xe8], eax
mov eax, 0x26
jmp 0x4dbf58
mov esi, dword [ebp - 8]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dc2bb
test byte [edx + 0x44], 2
je 0x4dc290
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dc27d
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push edx
push dword [ebp - 8]
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dc23c
xor eax, eax
jmp 0x4dbf58
mov esi, dword [ebp - 8]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dc360
test byte [edx + 0x44], 2
je 0x4dc335
mov dword [edx + 0x38], edi
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], edi
mov edx, dword [esi + 0x64]
test edx, edx
je 0x4dc320
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x64], eax
mov eax, edi
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
movzx edx, byte [esi + 0x16c]
push edi
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push edi
push edi
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push dword [ebp - 0x1a0]
push dword [ebp - 8]
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dc3a0
xor eax, eax
xor edi, edi
jmp 0x4dbfb4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 8]
mov edi, 0x26
mov dword [edx + 0xe8], eax
jmp 0x4dbfb4
mov esi, dword [ebp - 8]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dc41f
test byte [edx + 0x44], 2
je 0x4dc3f4
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dc3e1
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, esi
xor eax, eax
xor esi, esi
mov dword [ebp - 0x3d0], edx
mov edi, dword [ebp - 0x3cc]
mov dword [ebp - 0x3b4], edi
mov edi, dword [ebp - 0x1d4]
sub edi, esi
mov ecx, dword [ebp - 0x3d0]
cmp edi, ecx
mov edx, dword [ebp - 0x3c8]
jl 0x4dc471
mov edi, ecx
mov ecx, dword [ebp - 0x1c0]
cmp ecx, 2
je 0x4dc72c
cmp ecx, 4
je 0x4dc641
cmp ecx, 8
jne 0x4dc530
mov ecx, edi
test edi, edi
jle 0x4dc6b2
mov dword [ebp - 0x3c0], ecx
mov dword [ebp - 0x3e0], edi
mov dword [ebp - 0x3dc], esi
mov ecx, dword [ebp - 0x3b4]
mov esi, dword [ecx + 4]
mov edi, esi
mov eax, dword [ecx]
and edi, 0xff0000
mov dword [ebp - 0x3b4], ecx
mov ecx, esi
shr ecx, 0x18
shr edi, 8
or ecx, edi
mov edi, esi
and edi, 0xff00
shl edi, 8
shl esi, 0x18
or ecx, edi
or ecx, esi
mov edi, eax
mov dword [edx], ecx
mov ecx, eax
and ecx, 0xff0000
mov esi, eax
shr edi, 0x18
and esi, 0xff00
shr ecx, 8
shl esi, 8
or edi, ecx
shl eax, 0x18
or edi, esi
or edi, eax
mov eax, dword [ebp - 0x3c0]
add eax, 0xfffffff8
mov ecx, dword [ebp - 0x3b4]
mov dword [edx + 4], edi
add edx, 8
add ecx, 8
mov dword [ebp - 0x3c0], eax
test eax, eax
jg 0x4dc4b4
jmp 0x4dc6a0
cmp ecx, 0x10
jne 0x4dc6b2
mov ecx, edi
test edi, edi
jle 0x4dc6b2
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3e0], edi
mov dword [ebp - 0x3dc], esi
mov eax, dword [ebp - 0x3b4]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x3b0], edi
mov edi, ecx
mov dword [ebp - 0x3ac], esi
and edi, 0xff0000
mov esi, dword [eax + 8]
mov eax, ecx
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, ecx
and edi, 0xff00
shl edi, 8
shl ecx, 0x18
or eax, edi
or eax, ecx
mov ecx, esi
mov dword [edx], eax
mov edi, esi
and ecx, 0xff0000
mov eax, esi
shr edi, 0x18
and eax, 0xff00
shr ecx, 8
shl eax, 8
or edi, ecx
shl esi, 0x18
or edi, eax
mov ecx, dword [ebp - 0x3ac]
or edi, esi
mov esi, ecx
mov eax, ecx
mov dword [edx + 4], edi
mov edi, ecx
and esi, 0xff0000
and eax, 0xff00
shr edi, 0x18
shr esi, 8
shl eax, 8
or edi, esi
shl ecx, 0x18
or edi, eax
mov esi, dword [ebp - 0x3b0]
mov eax, esi
or edi, ecx
and eax, 0xff0000
mov dword [edx + 8], edi
mov edi, esi
mov ecx, esi
shr edi, 0x18
and ecx, 0xff00
shr eax, 8
shl ecx, 8
or edi, eax
shl esi, 0x18
or edi, ecx
mov ecx, dword [ebp - 0x3bc]
or edi, esi
add ecx, 0xfffffff0
mov eax, dword [ebp - 0x3b4]
mov dword [edx + 0xc], edi
add edx, 0x10
add eax, 0x10
mov dword [ebp - 0x3bc], ecx
test ecx, ecx
mov dword [ebp - 0x3b4], eax
jg 0x4dc555
jmp 0x4dc6a0
mov eax, edi
test edi, edi
jle 0x4dc6b2
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3e0], edi
mov dword [ebp - 0x3dc], esi
mov edx, dword [ebp - 0x3b4]
mov esi, dword [edx]
mov edi, esi
mov ecx, esi
and edi, 0xff0000
shr ecx, 0x18
add eax, 0xfffffffc
shr edi, 8
add edx, 4
or ecx, edi
mov edi, esi
and edi, 0xff00
shl edi, 8
shl esi, 0x18
or ecx, edi
or ecx, esi
mov esi, dword [ebp - 0x3b8]
mov dword [esi], ecx
add esi, 4
mov dword [ebp - 0x3b8], esi
test eax, eax
jg 0x4dc65f
mov edi, dword [ebp - 0x3e0]
mov esi, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x3c8]
mov ecx, dword [ebp - 8]
cmp byte [ecx + 0x154], 5
je 0x4dc700
mov ecx, dword [ebx + 0xc]
movsx ecx, byte [ecx]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov eax, dword [ebp - 8]
call fcn.004dd9f0
test eax, eax
jne 0x4dc6ea
add esi, edi
add dword [ebp - 0x3cc], edi
cmp esi, dword [ebp - 0x1d4]
jl 0x4dc44b
mov edx, dword [ebp - 0x3c8]
mov edi, eax
push edx
call fcn.004f1e90
add esp, 4
jmp 0x4dbfb4
push edi
push edx
push dword [ebp - 8]
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dc716
xor eax, eax
jmp 0x4dc6d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 8]
mov dword [edx + 0xe8], eax
mov eax, 0x26
jmp 0x4dc6d2
mov ecx, edi
test edi, edi
jle 0x4dc6b2
mov dword [ebp - 0x3dc], esi
mov esi, dword [ebp - 0x3b4]
add ecx, 0xfffffffe
movzx eax, word [esi]
add esi, 2
rol ax, 8
mov word [edx], ax
add edx, 2
test ecx, ecx
jg 0x4dc73e
mov esi, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0x3c8]
jmp 0x4dc6b2
cmp dword [ebp - 0x1b0], 0
jne 0x4dc79a
push dword [ebp - 0x1d4]
push dword [ebp - 0x1a0]
push dword [ebp - 0x1ec]
call fcn.0053ba70
add esp, 0xc
mov edx, dword [ebp - 8]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db81b
mov edx, dword [ebp - 0x1c0]
cmp edx, 2
je 0x4dca15
cmp edx, 4
je 0x4dc99d
cmp edx, 8
jne 0x4dc871
mov edx, dword [ebp - 0x1d4]
test edx, edx
jle 0x4db81b
mov dword [ebp - 0x3f0], edx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18c], esi
mov eax, ecx
mov ecx, dword [ebp - 0x1a0]
mov esi, dword [ecx + 4]
mov edi, esi
mov edx, dword [ecx]
and edi, 0xff0000
mov dword [ebp - 0x1a0], ecx
mov ecx, esi
shr ecx, 0x18
shr edi, 8
or ecx, edi
mov edi, esi
and edi, 0xff00
shl edi, 8
shl esi, 0x18
or ecx, edi
or ecx, esi
mov edi, edx
mov dword [eax], ecx
mov ecx, edx
and ecx, 0xff0000
mov esi, edx
shr edi, 0x18
and esi, 0xff00
shr ecx, 8
shl esi, 8
or edi, ecx
shl edx, 0x18
or edi, esi
or edi, edx
mov edx, dword [ebp - 0x3f0]
add edx, 0xfffffff8
mov ecx, dword [ebp - 0x1a0]
mov dword [eax + 4], edi
add eax, 8
add ecx, 8
mov dword [ebp - 0x3f0], edx
test edx, edx
jg 0x4dc7e0
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db81b
cmp edx, 0x10
jne 0x4db81b
mov edx, dword [ebp - 0x1d4]
test edx, edx
jle 0x4db81b
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x3f4], edx
mov dword [ebp - 0x10], edi
mov esi, ecx
mov eax, dword [ebp - 0x1a0]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x3ec], edi
mov edi, edx
mov dword [ebp - 0x3e8], ecx
and edi, 0xff0000
mov dword [ebp - 0x1a0], eax
mov ecx, dword [eax + 8]
mov eax, edx
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
shl edx, 0x18
or eax, edi
or eax, edx
mov edi, ecx
mov dword [esi], eax
mov eax, ecx
and eax, 0xff0000
mov edx, ecx
shr edi, 0x18
and edx, 0xff00
shr eax, 8
shl edx, 8
or edi, eax
shl ecx, 0x18
or edi, edx
mov edx, dword [ebp - 0x3e8]
mov eax, edx
or edi, ecx
and eax, 0xff0000
mov dword [esi + 4], edi
mov edi, edx
mov ecx, edx
shr edi, 0x18
and ecx, 0xff00
shr eax, 8
shl ecx, 8
or edi, eax
shl edx, 0x18
or edi, ecx
mov ecx, dword [ebp - 0x3ec]
mov eax, ecx
or edi, edx
and eax, 0xff0000
mov dword [esi + 8], edi
mov edi, ecx
mov edx, ecx
shr edi, 0x18
and edx, 0xff00
shr eax, 8
shl edx, 8
or edi, eax
shl ecx, 0x18
or edi, edx
mov edx, dword [ebp - 0x3f4]
or edi, ecx
add edx, 0xfffffff0
mov eax, dword [ebp - 0x1a0]
mov dword [esi + 0xc], edi
add esi, 0x10
add eax, 0x10
mov dword [ebp - 0x3f4], edx
test edx, edx
jg 0x4dc89f
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db81b
mov eax, dword [ebp - 0x1d4]
test eax, eax
jle 0x4db81b
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x18c], esi
mov edx, dword [ebp - 0x1a0]
mov esi, dword [edx]
mov edi, esi
mov ecx, esi
and edi, 0xff0000
shr ecx, 0x18
add eax, 0xfffffffc
shr edi, 8
add edx, 4
or ecx, edi
mov edi, esi
and edi, 0xff00
shl edi, 8
shl esi, 0x18
or ecx, edi
or ecx, esi
mov esi, dword [ebp - 0x1ec]
mov dword [esi], ecx
add esi, 4
mov dword [ebp - 0x1ec], esi
test eax, eax
jg 0x4dc9ba
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db81b
mov eax, dword [ebp - 0x1d4]
test eax, eax
jle 0x4db81b
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x10], edi
mov esi, dword [ebp - 0x1a0]
add eax, 0xfffffffe
movzx edx, word [esi]
add esi, 2
rol dx, 8
mov word [ecx], dx
add ecx, 2
test eax, eax
jg 0x4dca32
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp - 0x18c]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db81b
cmp edx, 0xb
je 0x4dca7a
movsx eax, byte [esi + 0x154]
mov dword [ebp - 0x1bc], eax
jmp 0x4db3de
movsx eax, byte [esi + 0x154]
cmp eax, 4
mov dword [ebp - 0x1bc], eax
je 0x4dca99
cmp dword [ebp - 0x1bc], 5
jne 0x4db3de
mov edi, dword [esi + 0x13c]
test edi, edi
mov eax, dword [esi + 0x38]
jne 0x4dcaab
mov edi, 0x20000
neg eax
add eax, dword [ebp - 0x1d0]
cmp eax, edi
jb 0x4db3de
jmp 0x4db676
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dcb3e
test byte [eax + 0x44], 2
je 0x4dcb0e
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dcaf6
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dcbe1
test byte [eax + 0x44], 2
je 0x4dcbb1
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dcb99
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
sub dword [ebp - 0x1d0], ecx
cmp dword [ebp - 0x1b0], 0
je 0x4dce64
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x1c0]
lea edx, [eax - 1]
not edx
and dword [ebp - 0x1d0], edx
cmp eax, 2
je 0x4dcec0
cmp eax, 4
je 0x4dce02
cmp eax, 8
jne 0x4dccf0
mov eax, dword [ebp - 0x1d0]
test eax, eax
jle 0x4dce7c
mov dword [ebp - 0x220], eax
mov dword [ebp - 8], esi
mov edx, dword [ebp - 0x21c]
mov esi, dword [edx + 4]
mov edi, esi
mov eax, dword [edx]
and edi, 0xff0000
mov dword [ebp - 0x21c], edx
mov edx, esi
shr edx, 0x18
shr edi, 8
or edx, edi
mov edi, esi
and edi, 0xff00
shl edi, 8
shl esi, 0x18
or edx, edi
or edx, esi
mov edi, eax
mov dword [ecx], edx
mov edx, eax
and edx, 0xff0000
mov esi, eax
shr edi, 0x18
and esi, 0xff00
shr edx, 8
shl esi, 8
or edi, edx
shl eax, 0x18
or edi, esi
or edi, eax
mov eax, dword [ebp - 0x220]
add eax, 0xfffffff8
mov edx, dword [ebp - 0x21c]
mov dword [ecx + 4], edi
add ecx, 8
add edx, 8
mov dword [ebp - 0x220], eax
test eax, eax
jg 0x4dcc6e
mov esi, dword [ebp - 8]
mov ecx, dword [esi + 0x3c]
jmp 0x4dce7c
cmp eax, 0x10
jne 0x4dce7c
mov eax, dword [ebp - 0x1d0]
test eax, eax
jle 0x4dce7c
mov dword [ebp - 0x218], eax
mov dword [ebp - 8], esi
mov eax, dword [ebp - 0x21c]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x214], edi
mov edi, edx
mov dword [ebp - 0x210], esi
and edi, 0xff0000
mov esi, dword [eax + 8]
mov eax, edx
shr eax, 0x18
shr edi, 8
or eax, edi
mov edi, edx
and edi, 0xff00
shl edi, 8
shl edx, 0x18
or eax, edi
or eax, edx
mov edx, esi
mov dword [ecx], eax
mov edi, esi
and edx, 0xff0000
mov eax, esi
shr edi, 0x18
and eax, 0xff00
shr edx, 8
shl eax, 8
or edi, edx
shl esi, 0x18
or edi, eax
mov edx, dword [ebp - 0x210]
or edi, esi
mov esi, edx
mov eax, edx
mov dword [ecx + 4], edi
mov edi, edx
and esi, 0xff0000
and eax, 0xff00
shr edi, 0x18
shr esi, 8
shl eax, 8
or edi, esi
shl edx, 0x18
or edi, eax
mov esi, dword [ebp - 0x214]
mov eax, esi
or edi, edx
and eax, 0xff0000
mov dword [ecx + 8], edi
mov edi, esi
mov edx, esi
shr edi, 0x18
and edx, 0xff00
shr eax, 8
shl edx, 8
or edi, eax
shl esi, 0x18
or edi, edx
mov edx, dword [ebp - 0x218]
or edi, esi
add edx, 0xfffffff0
mov eax, dword [ebp - 0x21c]
mov dword [ecx + 0xc], edi
add ecx, 0x10
add eax, 0x10
mov dword [ebp - 0x218], edx
test edx, edx
mov dword [ebp - 0x21c], eax
jg 0x4dcd10
mov esi, dword [ebp - 8]
mov ecx, dword [esi + 0x3c]
jmp 0x4dce7c
mov eax, dword [ebp - 0x1d0]
test eax, eax
jle 0x4dce7c
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 8], esi
mov edx, dword [ebp - 0x21c]
mov esi, dword [edx]
mov edi, esi
mov ecx, esi
and edi, 0xff0000
shr ecx, 0x18
add eax, 0xfffffffc
shr edi, 8
add edx, 4
or ecx, edi
mov edi, esi
and edi, 0xff00
shl edi, 8
shl esi, 0x18
or ecx, edi
or ecx, esi
mov esi, dword [ebp - 0x1ec]
mov dword [esi], ecx
add esi, 4
mov dword [ebp - 0x1ec], esi
test eax, eax
jg 0x4dce1b
mov esi, dword [ebp - 8]
mov ecx, dword [esi + 0x3c]
jmp 0x4dce7c
push dword [ebp - 0x1d0]
push dword [ebp - 0x1a0]
push ecx
call fcn.0053ba70
add esp, 0xc
mov ecx, dword [esi + 0x3c]
mov eax, dword [ebp - 0x1d0]
add ecx, eax
push esi
sub dword [ebp - 0x1d4], eax
add dword [ebp - 0x1a0], eax
mov dword [esi + 0x3c], ecx
call fcn.004fdd40
add esp, 4
test eax, eax
jne 0x4dcf05
mov edx, dword [esi + 0x40]
test edx, edx
je 0x4dcee9
xor eax, eax
mov byte [edx + 2], al
mov edx, dword [esi + 0x40]
mov byte [edx + 3], al
mov ecx, dword [esi + 0x40]
add ecx, 4
mov dword [esi + 0x3c], ecx
jmp 0x4db657
mov eax, dword [ebp - 0x1d0]
test eax, eax
jle 0x4dce7c
mov edi, dword [ebp - 0x21c]
add eax, 0xfffffffe
movzx edx, word [edi]
add edi, 2
rol dx, 8
mov word [ecx], dx
add ecx, 2
test eax, eax
jg 0x4dced0
jmp 0x4dce79
mov edx, dword [esi + 0x38]
xor eax, eax
mov byte [edx + 2], al
mov ecx, dword [esi + 0x38]
mov byte [ecx + 3], al
mov ecx, dword [esi + 0x38]
add ecx, 4
mov dword [esi + 0x3c], ecx
jmp 0x4db657
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dcf68
test byte [edx + 0x44], 2
je 0x4dcf3d
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dcf2a
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x13c]
test eax, eax
jne 0x4dcf9a
mov eax, 0x20000
mov dword [ebp - 0x3d4], eax
cmp eax, dword [ebp - 0x1ac]
jbe 0x4dcfb6
cmp edx, 0xb
jne 0x4db3d2
jmp 0x4dbc5f
mov eax, dword [ebp - 8]
push 0
mov edx, ecx
push dword [eax + 0x38]
push eax
mov dword [eax + 0x40], edx
or byte [eax + 0x16d], 4
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
je 0x4dcff2
mov eax, dword [ebp - 8]
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x1d0], edx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x1ec], edx
jmp 0x4db764
mov esi, dword [ebp - 8]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dd067
test byte [eax + 0x44], 2
je 0x4dd037
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dd01f
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [ebp - 0x1cc]
xor eax, eax
mov ecx, 1
xor edx, edx
mov dword [ebp - 0x1a0], edi
mov esi, ecx
mov dword [ebp - 0xc], edx
mov edi, dword [ebp - 0x1ac]
cmp dword [ebp - 0x1a8], 0
jne 0x4dd0d5
mov dword [ebp - 0x1d4], edi
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1a4], ecx
mov edi, dword [ebp - 0x10]
jmp 0x4db33f
mov dword [ebp - 0x1d4], edi
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], edx
mov dword [ebp - 0x1a4], ecx
mov edi, dword [ebp - 0x10]
jmp 0x4db079
mov edi, dword [ebp - 0x1cc]
xor eax, eax
mov ecx, 1
xor edx, edx
mov dword [ebp - 0x1a0], edi
mov esi, ecx
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0xc], edx
mov edi, dword [ebp - 0x1ac]
jmp 0x4dd0b5
cmp ecx, dword [ebp + esi - 0x398]
jg 0x4db02b
mov ecx, dword [ebp + esi - 0x3a4]
imul ecx, dword [ebp + esi - 0x39c]
cmp ecx, dword [ebp + esi - 0x390]
je 0x4dd153
mov esi, dword [ebp - 0x18c]
jmp 0x4dac3d
inc edx
cmp edx, eax
jl 0x4db011
mov esi, dword [ebp - 0x18c]
mov ecx, dword [ebp - 0x3f8]
jmp 0x4daf12
mov esi, dword [ebp - 8]
cmp dword [esi + 0x128], 0
je 0x4dd229
mov eax, dword [esi + 0x40]
test eax, eax
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x128], 0
je 0x4dd19b
sub edx, eax
jne 0x4dd229
jmp 0x4dd1a6
mov eax, dword [esi + 0x38]
sub edx, eax
jne 0x4dd229
test byte [esi + 0x16f], 1
je 0x4dd32a
mov eax, esi
call fcn.004ddd90
test eax, eax
je 0x4dd30e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dd3d1
test byte [edx + 0x44], 2
je 0x4dd1fe
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dd1eb
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [esi + 0x138], 7
jne 0x4dd271
mov edx, dword [esi + 0x144]
test edx, edx
mov ecx, dword [esi + 0x3c]
jl 0x4dd638
neg edx
add edx, 0xffffff80
mov byte [esi + 0x15e], dl
mov byte [ecx], dl
mov edi, dword [esi + 0x3c]
inc edi
movzx eax, byte [esi + 0x15e]
mov dword [esi + 0x3c], edi
sub edi, eax
mov edx, dword [esi + 0x38]
sub edi, edx
add edi, 0xfffffffe
js 0x4dd3f1
mov byte [edx + edi], al
cmp byte [esi + 0x154], 3
je 0x4dd907
movzx eax, byte [esi + 0x16f]
test al, 1
jne 0x4dd29c
test al, 0x40
jne 0x4dd8bb
push esi
call fcn.004fdd40
add esp, 4
jmp 0x4dd2a3
mov eax, esi
call fcn.004ddd90
test eax, eax
je 0x4dd30e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dd8c7
test byte [edx + 0x44], 2
je 0x4dd2e3
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dd2d0
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
add dword [esi + 0x98], 1
adc dword [esi + 0x9c], 0
and byte [esi + 0x16f], 0xfb
and byte [esi + 0x170], 0xbf
push dword [esi + 0x100]
and byte [esi + 0x16c], 0xdc
and byte [esi + 0x16e], 0xf7
call fcn.004f82c0
add esp, 4
test eax, eax
je 0x4dd3b1
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dd8e7
test byte [edx + 0x44], 2
je 0x4dd386
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dd373
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x208]
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov dword [edx + 4], 0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, edi
cdq
mov dword [ebp - 0x3f8], edx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov edx, 1
mov eax, dword [esi + 0xe4]
call fcn.004ddd30
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x4dd495
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dd5ee
test byte [eax + 0x44], 2
je 0x4dd465
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dd44d
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 1
lea eax, [esi + 0x15e]
push eax
push esi
call fcn.004fe290
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4dd522
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dd613
test byte [eax + 0x44], 2
je 0x4dd4f2
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dd4da
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0x3f8]
neg edi
neg ecx
mov edx, 1
dec edi
dec ecx
mov dword [esp + 4], edi
mov eax, dword [esi + 0xe4]
mov dword [esp + 8], ecx
call fcn.004ddd30
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x4dd271
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dd5c9
test byte [eax + 0x44], 2
je 0x4dd599
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dd581
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [esi + 0x44]
sub eax, ecx
cmp eax, 1
jg 0x4dd817
push esi
call fcn.004fdd40
add esp, 4
test eax, eax
je 0x4dd6ba
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dd858
test byte [edx + 0x44], 2
je 0x4dd68f
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dd67c
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0
push esi
and byte [esi + 0x170], 0xbf
call fcn.004ffcb0
add esp, 8
test eax, eax
je 0x4dd746
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4dd878
test byte [eax + 0x44], 2
je 0x4dd716
mov edx, 0x26
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x18]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x64]
test eax, eax
je 0x4dd6fe
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 0x26
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsx eax, byte [esi + 0x154]
dec eax
cmp eax, 7
ja case.default.0x4dd75e
mov eax, dword [eax*4 + 0x560110]
jmp eax
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x4dd76c
mov dword [esi + 0x3c], ecx
jmp 0x4dd772
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov eax, dword [esi + 0xf8]
lea edx, [ecx + eax - 1]
mov dword [esi + 0x44], edx
jmp 0x4dd817
mov edx, dword [esi + 0x40]
mov eax, 1
mov word [ebp - 0x3f8], ax
test edx, edx
je 0x4dd89d
mov byte [edx + 2], al
mov eax, dword [esi + 0x40]
mov byte [eax + 3], 0
mov ecx, dword [esi + 0x40]
add ecx, 4
mov eax, dword [esi + 0xf8]
add eax, ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x44], eax
jmp 0x4dd817
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x4dd7c7
add ecx, 4
jmp 0x4dd7cd
mov ecx, dword [esi + 0x38]
add ecx, 4
mov eax, dword [esi + 0xf8]
mov dword [esi + 0x3c], ecx
lea edx, [ecx + eax - 8]
mov dword [esi + 0x44], edx
jmp 0x4dd817
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x4dd7eb
mov dword [esi + 0x3c], ecx
jmp 0x4dd7f1
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov eax, ecx
add eax, dword [esi + 0xf8]
mov dword [esi + 0x44], eax
jmp 0x4dd817
push 0xadf
push str.for_wseq.c
push 2
push 8
call fcn.004fc9b0
add esp, 0x10
mov ecx, dword [esi + 0x3c]
mov byte [esi + 0x15e], 0x81
mov byte [ecx], 0x81
xor eax, eax
movzx edx, byte [esi + 0x15e]
cmp edx, 0x81
mov ecx, dword [esi + 0x3c]
sete al
inc ecx
mov edi, dword [esi + 0x44]
sub edx, eax
sub edi, ecx
cmp edi, edx
mov dword [esi + 0x3c], ecx
jb 0x4dd847
mov edi, edx
mov dword [esi + 0x144], edx
mov dword [esi + 0x148], edi
jmp 0x4dd243
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [esi + 0x38]
mov byte [edi + 2], al
mov edx, dword [esi + 0x38]
movzx eax, byte [ebp - 0x3f7]
mov byte [edx + 3], al
mov ecx, dword [esi + 0x38]
add ecx, 4
jmp 0x4dd7ab
mov eax, esi
call fcn.004de2e0
jmp 0x4dd2a3
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 0
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x4dd92f
movzx edx, byte [ecx + 3]
shl edx, 8
movzx eax, byte [ecx + 2]
or eax, edx
or eax, 2
mov byte [ecx + 2], al
mov ecx, dword [esi + 0x40]
shr eax, 8
mov byte [ecx + 3], al
jmp 0x4dd27e
mov ecx, dword [esi + 0x38]
movzx edx, byte [ecx + 3]
shl edx, 8
movzx eax, byte [ecx + 2]
or eax, edx
or eax, 2
mov byte [ecx + 2], al
mov edi, dword [esi + 0x38]
shr eax, 8
mov byte [edi + 3], al
jmp 0x4dd27e
mov esi, dword [ebp - 8]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x4dd9b9
test byte [edx + 0x44], 2
je 0x4dd98e
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x4dd97b
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
movzx edx, byte [esi + 0x16c]
push eax
and edx, 7
push edx
push 0xffffffffffffffff
push esi
call fcn.00500a40
add esp, 0x14
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004fa8e0
add esp, 0x10
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
xor eax, eax
mov esi, dword [ebp - 0x1f4]
mov edi, dword [ebp - 0x1f0]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret