Function at 0x52fc60
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, 0x428
mov eax, dword [ebx + 8]
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x214], eax
mov esi, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x1fc], edi
movzx ecx, byte [esi + 0x16d]
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x410]
and ecx, 0x10
lea eax, [ebp - 0x3b8]
push eax
shr ecx, 4
lea edx, [ebp - 0x1d8]
push edx
mov dword [ebp - 0x18], ecx
lea esi, [ebx + 0x10]
push esi
lea edi, [ebx + 0xc]
push edi
call fcn.00510550
add esp, 0x10
test eax, eax
jne 0x533101
mov edi, dword [ebp - 0x1d0]
cmp edi, 2
je 0x533187
cmp edi, 1
je 0x53260a
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x16d]
test cl, 0x20
je 0x52fd50
movsx edx, byte [eax + 0x158]
test edx, edx
jne 0x52fd50
cmp dword [ebp - 0x1cc], 1
jle 0x52fd50
cmp edi, 5
jl 0x52fd50
cmp edi, 0x11
jle 0x52fd44
cmp edi, 0x19
jl 0x52fd50
cmp edi, 0x1f
jle 0x52fd44
cmp edi, 0x32
jl 0x52fd3a
cmp edi, 0x34
jle 0x52fd44
jmp 0x52fd50
cmp edi, 0x28
jl 0x52fd50
cmp edi, 0x30
jg 0x52fd50
mov dword [ebp - 0x1b0], 1
jmp 0x52fd58
xor eax, eax
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x3b8]
cmp dword [ebp - 0x1b0], 0
je 0x52fd70
cmp eax, 5
je 0x5300e2
cmp eax, 7
jl 0x52febc
cmp eax, 8
jg 0x52febc
mov edx, dword [ebp - 0x1cc]
xor eax, eax
mov dword [ebp - 0x1b8], eax
test edx, edx
mov dword [ebp - 0x218], edx
je 0x52fdad
mov eax, dword [ebp - 0x1d4]
cdq
mov esi, dword [ebp - 0x218]
idiv esi
mov esi, eax
jmp 0x52fdb1
xor eax, eax
xor esi, esi
mov edx, dword [ebp - 0x218]
test esi, esi
mov dword [ebp - 0x1b4], edx
jne 0x52fdcd
mov dword [ebp - 0x10], 1
jmp 0x52fcb0
cmp edi, 0x34
je 0x52fddc
cmp edi, 0x1c
jl 0x52fdf7
cmp edi, 0x2c
jg 0x52fdf7
mov edx, dword [ebp - 0x218]
mov edi, 1
add edx, edx
mov dword [ebp - 0x218], edx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
jmp 0x52fdfe
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x3b4]
test eax, eax
jle 0x52fe61
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp - 0x3a4]
jne 0x52fe2d
mov edx, dword [ebp - 0x3a8]
cmp edx, dword [ebp - 0x3ac]
jg 0x52fe2d
cmp edx, 1
je 0x5300f9
xor ecx, ecx
lea edi, [ecx*8]
lea edi, [edi + ecx*4]
mov edx, dword [ebp + edi - 0x3a8]
mov edi, dword [ebp + edi - 0x3a4]
mov dword [ebp + ecx*4 - 0x118], edx
mov dword [ebp + ecx*4 - 0x9c], edi
mov dword [ebp + ecx*4 - 0x194], edx
inc ecx
cmp ecx, eax
jl 0x52fe2f
xor ecx, ecx
test eax, eax
jle 0x52fe86
xor edx, edx
mov edi, dword [ebp + edx*4 - 0x194]
sub edi, dword [ebp + edx*4 - 0x118]
imul edi, dword [ebp + edx*4 - 0x9c]
inc edx
add ecx, edi
cmp edx, eax
jl 0x52fe69
add ecx, dword [ebp - 0x3b0]
lea edx, [ebp - 0x3b8]
push edx
mov dword [ebp - 0x1d8], ecx
lea edi, [ebp - 0x194]
push edi
push 0
call fcn.0050bf90
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x128], 0
jmp 0x52ffe8
cmp eax, 6
je 0x52feca
cmp eax, 5
jne 0x52ff90
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1cc], 0
je 0x52fdc1
mov eax, dword [ebp - 0x1d4]
test eax, eax
mov dword [ebp - 0x1b4], eax
je 0x52fdc1
test cl, 0x10
je 0x52ff4c
cmp dword [ebp - 0x1b8], 0
jne 0x52ff40
push dword [ebp - 0x14]
lea eax, [ebp - 0x1d8]
push eax
call fcn.0050c640
add esp, 8
test eax, eax
je 0x52ff40
mov eax, dword [ebp - 0x1cc]
test eax, eax
mov dword [ebp - 0x1b4], eax
je 0x52ff3a
mov eax, dword [ebp - 0x1d4]
cdq
mov ecx, dword [ebp - 0x1b4]
idiv ecx
mov esi, eax
jmp 0x52ff51
xor eax, eax
xor esi, esi
jmp 0x52ff51
xor edx, edx
mov esi, 1
mov dword [ebp - 0x18], edx
jmp 0x52ff51
mov esi, 1
mov edx, dword [ebp - 0x14]
test byte [edx + 0x168], 2
je 0x52ffe8
test esi, esi
jne 0x52ff84
mov eax, edx
mov dword [ebp - 0x10], 1
mov dword [eax + 0x128], 1
movzx ecx, byte [eax + 0x16d]
jmp 0x52fcb0
mov dword [edx + 0x128], 0
jmp 0x52ffe8
cmp edi, 0x34
je 0x52ff9f
cmp edi, 0x1c
jl 0x52ffb2
cmp edi, 0x2c
jg 0x52ffb2
mov eax, dword [ebp - 0x1cc]
mov esi, 2
mov dword [ebp - 0x1b4], eax
jmp 0x52ffd3
mov eax, dword [ebp - 0x1d4]
test eax, eax
mov dword [ebp - 0x1b4], eax
jne 0x52ffce
mov dword [ebp - 0x10], 1
jmp 0x52fcb0
mov esi, 1
mov edi, dword [ebp - 0x14]
xor edx, edx
mov dword [ebp - 0x1b8], edx
mov dword [edi + 0x128], 0
xor eax, eax
mov ecx, 1
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], ecx
mov edi, dword [ebp - 0x1c]
cmp dword [ebp - 0x10], 0
je 0x530244
cmp esi, 1
jle 0x5300cf
mov eax, dword [ebp - 0x3b8]
cmp eax, 7
je 0x53002b
cmp eax, 8
jne 0x5300b0
test edi, edi
je 0x530042
mov edi, dword [ebp - 0x1cc]
xor eax, eax
add dword [ebp - 0x1d8], edi
dec esi
xor edi, edi
jmp 0x530004
cmp dword [ebp - 0x20], 0
mov ecx, dword [ebp - 0x3b4]
je 0x530053
mov edi, 1
xor eax, eax
test ecx, ecx
jle 0x53008a
mov dword [ebp - 0x1c], edi
xor edx, edx
mov dword [ebp - 0x198], esi
mov esi, dword [ebp + edx*4 - 0x194]
sub esi, dword [ebp + edx*4 - 0x118]
imul esi, dword [ebp + edx*4 - 0x9c]
inc edx
add eax, esi
cmp edx, ecx
jl 0x530064
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
add eax, dword [ebp - 0x3b0]
lea edx, [ebp - 0x194]
mov dword [ebp - 0x1d8], eax
lea eax, [ebp - 0x3b8]
push eax
push edx
push 0
call fcn.0050bf90
add esp, 0xc
jmp 0x5300bc
mov eax, dword [ebp - 0x1cc]
add dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x14]
dec esi
mov dword [edx + 0x128], 0
jmp 0x530004
nop
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edi
movzx ecx, byte [eax + 0x16d]
jmp 0x52fcb0
xor eax, eax
mov dword [ebp - 0x1b8], 1
mov dword [ebp - 0x1b0], eax
jmp 0x52fed2
cmp eax, 1
jg 0x5301f0
test cl, 0x10
jne 0x530144
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1b4], eax
mov dword [ecx + 0x128], 0
cmp dword [ebp - 0x10], 0
je 0x530226
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x52fcb0
push dword [ebp - 0x14]
lea edx, [ebp - 0x1d8]
push edx
call fcn.0050c640
add esp, 8
test eax, eax
jne 0x530197
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1b4], eax
mov dword [ecx + 0x128], 0
cmp dword [ebp - 0x10], 0
je 0x532529
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x52fcb0
cmp dword [ebp - 0x1b0], 0
je 0x5301dd
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1b4], eax
mov dword [ecx + 0x128], 0
cmp dword [ebp - 0x10], 0
je 0x532592
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x52fcb0
mov eax, dword [ebp - 0x3b4]
test eax, eax
jg 0x52fe2d
jmp 0x52fe61
mov dword [ebp - 0x198], esi
mov edx, 1
mov dword [ebp - 0x410], ecx
lea ecx, [edx*8]
lea esi, [ecx + edx*4]
mov ecx, dword [ebp + esi - 0x3a8]
cmp ecx, 1
je 0x5325c0
mov esi, dword [ebp - 0x198]
jmp 0x52fe2d
xor eax, eax
mov ecx, 1
mov esi, ecx
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], ecx
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1ac], edx
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1e0], edx
cmp dword [ebp - 0x1b0], 0
je 0x5304ed
mov edx, dword [ebp - 0x1b4]
lea edx, [edx + 3]
and edx, dword [ebp - 0x1ac]
test dl, 3
jne 0x530436
cmp dword [ebp - 0x1b4], 4
je 0x5303ff
cmp dword [ebp - 0x1b4], 8
jne 0x530300
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1c], 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 - 0x1f8], 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 - 0x1f4], ecx
mov edi, dword [ebp - 0x1c]
jmp 0x5304df
cmp dword [ebp - 0x1b4], 0x10
jne 0x5303e6
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x198], 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 - 0x238], 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 - 0x1f8], 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 - 0x1f0], edx
mov edx, dword [ebp - 0x238]
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 - 0x1f4], edi
mov dword [ebp - 0x1ec], esi
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x5304df
mov edx, dword [ebp - 0x1ac]
movzx edx, word [edx]
rol dx, 8
mov word [ebp - 0x1f8], dx
jmp 0x5304df
mov edx, dword [ebp - 0x1ac]
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 - 0x1f8], edx
jmp 0x5304df
cmp dword [ebp - 0x1b4], 1
je 0x530dde
mov edx, dword [ebp - 0x1b4]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
mov dword [ebp - 0x1a0], eax
test eax, eax
jle 0x5304df
xor eax, eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x198], esi
mov esi, eax
add ecx, edx
mov dword [ebp - 0x1a8], ecx
xor ecx, ecx
lea edx, [ebp + edx - 0x1f8]
mov dword [ebp - 0x1a4], edx
xor edx, edx
lea esi, [esi]
mov dword [ebp - 0x19c], ecx
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1a8]
movzx edi, byte [esi + ecx]
movzx ecx, byte [edx + eax - 1]
xor edi, ecx
mov byte [ebp + esi - 0x1f8], cl
inc esi
movzx eax, byte [edx + eax - 1]
dec edx
mov ecx, dword [ebp - 0x19c]
xor eax, edi
mov edi, dword [ebp - 0x1a4]
mov byte [ecx + edi - 1], al
dec ecx
cmp esi, dword [ebp - 0x1a0]
jl 0x530490
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
lea edx, [ebp - 0x1f8]
mov dword [ebp - 0x1ac], edx
jmp 0x530537
cmp dword [ebp - 0x18], 0
je 0x530537
cmp dword [ebp - 0x1d0], 0x38
je 0x530537
lea edx, [ebp - 0x1f8]
push edx
push dword [ebp - 0x14]
push dword [ebp - 0x1b4]
lea edx, [ebp - 0x1d8]
push edx
call fcn.0050c1a0
add esp, 0x10
test eax, eax
lea edx, [ebp - 0x1f8]
mov dword [ebp - 0x1ac], edx
je 0x530537
push 0
push 0x5f
call fcn.004db180
add esp, 8
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x16f]
test al, 0x20
je 0x530557
cmp esi, 1
je 0x530df2
and eax, 0xffffffdf
mov byte [edx + 0x16f], al
test al, 0x40
jne 0x53000e
mov edx, dword [edx + 0x138]
cmp edx, 7
je 0x530a83
mov dword [ebp - 0x204], edx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x44]
mov ecx, dword [edx + 0x3c]
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1e8], ecx
add edx, ecx
cmp eax, edx
mov edx, dword [ebp - 0x204]
jae 0x5308cc
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x154]
cmp eax, 5
mov dword [ebp - 0x1c8], eax
je 0x53184d
cmp edx, 0xb
jne 0x5305ca
cmp dword [ebp - 0x1c8], 4
je 0x530e96
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x1c], edi
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x1c8], 3
je 0x5314c7
mov edi, dword [ebp - 0x1e0]
cmp edi, 0x200
mov eax, dword [esi + 0xf8]
jg 0x5305fc
mov edi, 0x200
mov dword [ebp - 0x1e4], eax
shr eax, 3
cmp eax, edi
jge 0x53060b
mov eax, edi
cmp edx, 0xb
jne 0x530640
cmp dword [ebp - 0x1c8], 5
je 0x530622
cmp dword [ebp - 0x1c8], 4
jne 0x530640
mov edi, dword [esi + 0x13c]
test edi, edi
jne 0x530631
mov edi, 0x20000
sub edi, dword [ebp - 0x1dc]
add edi, dword [esi + 0x38]
cmp edi, eax
jge 0x530640
mov eax, edi
test byte [esi + 0x16f], 1
je 0x530668
cmp edx, 0xb
jne 0x530845
cmp dword [ebp - 0x1c8], 5
je 0x530668
cmp dword [ebp - 0x1c8], 4
jne 0x530845
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 - 0x208], edx
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x210], edi
call fcn.0050bd90
add esp, 8
test eax, eax
je 0x530840
cmp dword [esi + 0x138], 0xb
jne 0x530735
movsx eax, byte [esi + 0x154]
cmp eax, 5
je 0x5306bf
cmp eax, 4
jne 0x530735
mov eax, dword [esi + 0x18]
test eax, eax
je 0x530ecd
test byte [eax + 0x44], 2
je 0x530705
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 0x5306ed
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x42
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movzx eax, byte [esi + 0x16b]
test eax, 0x80
je 0x53127b
movsx edx, byte [esi + 0x154]
cmp edx, 1
je 0x53127b
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x20c]
mov dword [esi + 0xec], eax
mov eax, edi
mov dword [esi + 0xfc], ecx
movzx ecx, byte [esi + 0x16f]
or ecx, 1
mov edi, dword [ebp - 0x1e4]
mov dword [esi + 0x40], eax
mov dword [ebp - 0x230], ecx
mov byte [esi + 0x16f], cl
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
sub ecx, eax
mov dword [esi + 0xf8], edi
mov edi, dword [ebp - 0x1e0]
mov dword [ebp - 0x234], ecx
add edi, ecx
mov dword [esi + 0x118], edi
mov ecx, dword [ebx + 0xc]
cmp byte [ecx], 1
je 0x53106b
push 1
xor eax, eax
lea edx, [ebp - 0x3e4]
push edx
push eax
mov ecx, dword [esi + 0xe4]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x3e8], eax
cmp eax, 0xffffffff
je 0x531038
mov edx, dword [ebp - 0x3e4]
mov dword [esi + 0x110], eax
mov dword [esi + 0x114], edx
mov eax, dword [esi + 0x38]
push dword [ebp - 0x234]
push eax
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x530f95
push dword [ebp - 0x1e0]
push dword [ebp - 0x1ac]
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x530ef2
jmp 0x53088b
mov ecx, dword [esi + 0x3c]
jmp 0x530899
mov edi, dword [esi + 0x38]
sub ecx, edi
mov eax, dword [ebp - 0x1e0]
push ecx
push edi
push esi
lea edx, [eax + ecx]
add dword [esi + 0x118], edx
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x531424
push dword [ebp - 0x1e0]
push dword [ebp - 0x1ac]
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x531381
mov ecx, dword [esi + 0x38]
xor eax, eax
mov dword [esi + 0x3c], ecx
mov dword [ebp - 0x1e0], eax
mov edi, dword [ebp - 0x1e0]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x1dc], eax
mov edx, dword [esi + 0x138]
add edi, ecx
cmp eax, edi
jb 0x531312
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1e8], ecx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x5308d9
cmp dword [ebp - 0x1bc], 0
je 0x53099c
cmp dword [ebp - 0x1b4], 8
jne 0x530953
test byte [ebp - 0x1e8], 7
jne 0x530911
test byte [ebp - 0x1d8], 7
jne 0x530911
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1c4], 1
jmp 0x53099c
test byte [ebp - 0x1e8], 3
jne 0x53093d
test byte [ebp - 0x1d8], 3
jne 0x53093d
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], 1
jmp 0x53099c
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
jmp 0x53099c
cmp dword [ebp - 0x1b4], 4
jne 0x530988
test byte [ebp - 0x1e8], 3
jne 0x53093d
test byte [ebp - 0x1d8], 3
jne 0x53093d
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], 1
jmp 0x53099c
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1c4], eax
cmp edx, 0xb
jne 0x5309e2
mov edx, dword [ebp - 0x14]
movsx edx, byte [edx + 0x154]
cmp edx, 5
je 0x5309b5
cmp edx, 4
jne 0x5309e2
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1dc]
sub edx, dword [ebp - 0x1e8]
mov dword [ebp - 0x1dc], edx
mov dword [eax + 0x148], edx
cmp dword [ebp - 0x1e0], 0
jg 0x531951
jmp 0x53000e
cmp dword [ebp - 0x1e0], 4
jne 0x530a12
cmp dword [ebp - 0x1c0], 0
je 0x532217
mov edx, dword [ebp - 0x1ac]
mov eax, ecx
mov edx, dword [edx]
mov dword [eax], edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x530a6c
cmp dword [ebp - 0x1e0], 8
jne 0x530a46
cmp dword [ebp - 0x1c4], 0
je 0x532217
mov edx, dword [ebp - 0x1ac]
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [ecx], eax
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x530a6c
cmp dword [ebp - 0x1e0], 1
jne 0x532217
mov edx, dword [ebp - 0x1ac]
movzx eax, byte [edx]
mov edx, ecx
mov byte [edx], al
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1e8]
add edx, dword [ebp - 0x1e0]
mov dword [eax + 0x3c], edx
jmp 0x53000e
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x138], 7
jne 0x53000e
mov eax, edx
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x1c], edi
mov edx, dword [eax + 0x44]
mov eax, dword [eax + 0x3c]
mov esi, dword [ebp - 0x14]
mov ecx, edx
sub ecx, eax
cmp ecx, 1
jle 0x530abb
mov ecx, dword [esi + 0x144]
jmp 0x530bce
push esi
call fcn.00508260
add esp, 4
test eax, eax
jne 0x530d5b
push 0
push esi
and byte [esi + 0x170], 0xbf
call fcn.0050a260
add esp, 8
test eax, eax
jne 0x530cc4
movsx eax, byte [esi + 0x154]
dec eax
cmp eax, 7
ja case.default.0x530af7
jmp dword [eax*4 + 0x5f36e4]
mov eax, dword [esi + 0x40]
test eax, eax
je 0x530b0a
mov dword [esi + 0x3c], eax
jmp 0x530b10
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 0x530bb8
mov edx, dword [esi + 0x40]
mov eax, 1
mov word [ebp - 0x416], ax
test edx, edx
je 0x530c95
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 0x530bb8
mov eax, dword [esi + 0x40]
test eax, eax
je 0x530b65
add eax, 4
jmp 0x530b6b
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 0x530bb8
mov eax, dword [esi + 0x40]
test eax, eax
je 0x530b89
mov dword [esi + 0x3c], eax
jmp 0x530b8f
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
mov edx, eax
add edx, dword [esi + 0xf8]
mov dword [esi + 0x44], edx
jmp 0x530bb8
push 0x9a0
push str.for_wseq.c
push 2
push 8
call fcn.004db180
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 0x530bc8
mov edi, ecx
mov dword [esi + 0x148], edi
test ecx, ecx
jge 0x530c10
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 0x530c04
mov edi, ecx
mov dword [esi + 0x144], ecx
mov dword [esi + 0x148], edi
cmp dword [ebp - 0x1e0], 0
je 0x530cb3
test ecx, ecx
jne 0x530c43
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 0x530aa7
mov edi, dword [esi + 0x148]
mov ecx, dword [ebp - 0x1e0]
cmp edi, ecx
jb 0x530c55
mov edi, ecx
test edi, edi
jbe 0x530aa7
push edi
push dword [ebp - 0x1ac]
push eax
call fcn.005a35a0
add esp, 0xc
mov eax, dword [esi + 0x3c]
add eax, edi
mov edx, dword [esi + 0x44]
sub dword [ebp - 0x1e0], edi
add dword [ebp - 0x1ac], edi
sub dword [esi + 0x148], edi
sub dword [esi + 0x144], edi
mov dword [esi + 0x3c], eax
jmp 0x530aa7
mov edi, dword [esi + 0x38]
mov byte [edi + 2], al
mov edx, dword [esi + 0x38]
movzx eax, byte [ebp - 0x415]
mov byte [edx + 3], al
mov eax, dword [esi + 0x38]
add eax, 4
jmp 0x530b49
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x53000e
mov eax, dword [esi + 0x18]
test eax, eax
je 0x530d36
test byte [eax + 0x44], 2
je 0x530d06
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 0x530cee
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [esi + 0x18]
test edx, edx
je 0x530dbe
test byte [edx + 0x44], 2
je 0x530d93
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x530d80
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x1ac]
movzx edx, byte [edx]
mov byte [ebp - 0x1f8], dl
jmp 0x5304df
mov edx, dword [ebx + 0xc]
cmp byte [edx], 1
je 0x530e0b
mov edx, dword [ebp - 0x14]
and eax, 0xffffffdf
mov byte [edx + 0x16f], al
jmp 0x530557
mov edx, dword [ebp - 0x14]
and eax, 0xffffffdf
cmp byte [edx + 0x154], 1
je 0x530e25
mov byte [edx + 0x16f], al
jmp 0x530557
test byte [edx + 0x16b], 8
je 0x530e49
test byte [edx + 0x168], 1
je 0x530e40
cmp byte [edx + 0x155], 2
je 0x530e1a
test byte [edx + 0x171], 0x40
jne 0x530e1a
mov ecx, edx
mov edx, dword [ebp - 0x1b4]
cmp edx, dword [ecx + 0xf8]
jne 0x530e61
add edx, dword [ecx + 0x3c]
cmp edx, dword [ecx + 0x44]
jbe 0x530e6e
mov edx, ecx
mov byte [edx + 0x16f], al
jmp 0x530557
mov edx, ecx
or eax, 0x40
mov ecx, dword [ebp - 0x1ac]
mov dword [edx + 0x80], ecx
mov ecx, dword [ebp - 0x1b4]
mov dword [edx + 0x134], ecx
mov byte [edx + 0x16f], al
jmp 0x530557
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x13c]
test eax, eax
jne 0x530ea8
mov eax, 0x20000
mov dword [ebp - 0x3f4], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x38]
neg eax
add eax, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 0x3f4]
jb 0x5305ca
jmp 0x5308cc
push esi
mov eax, 0x42
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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 0x530f70
test byte [eax + 0x44], 2
je 0x530f40
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 0x530f28
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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 0x531013
test byte [eax + 0x44], 2
je 0x530fe3
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 0x530fcb
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x53105a
mov eax, 0xffffffff
mov dword [ebp - 0x3e8], eax
mov edx, eax
mov dword [ebp - 0x3e4], eax
jmp 0x5307f8
mov eax, dword [ebp - 0x3e8]
mov edx, dword [ebp - 0x3e4]
jmp 0x5307f8
cmp dword [ebp - 0x198], 1
jne 0x5307be
dec edx
cmp edx, 7
ja case.default.0x531082
jmp dword [edx*4 + 0x5f36a0]
mov edx, dword [ebp - 0x234]
mov edi, dword [ebp - 0x1e0]
cmp dword [ebp - 0x210], 0
lea ecx, [edi + edx - 2]
mov word [ebp - 0x418], cx
je 0x5311c0
mov edi, dword [ebp - 0x210]
mov eax, ecx
mov byte [edi], al
mov edx, dword [esi + 0x40]
shr eax, 8
mov byte [edx + 1], al
movzx ecx, byte [esi + 0x16f]
mov dword [ebp - 0x230], ecx
mov eax, dword [esi + 0x38]
jmp case.0x531082.1
mov edx, dword [ebp - 0x234]
mov edi, dword [ebp - 0x1e0]
cmp dword [ebp - 0x210], 0
lea ecx, [edi + edx - 4]
mov dword [ebp - 0x414], ecx
je 0x5311e8
test byte [esi + 0x16d], 0x20
je 0x53113e
mov edi, dword [ebp - 0x210]
mov eax, ecx
mov edx, eax
shr edx, 0x18
mov ecx, eax
mov byte [edi], dl
mov edx, eax
mov edi, dword [esi + 0x40]
shr ecx, 0x10
shr edx, 8
mov byte [edi + 1], cl
mov ecx, dword [esi + 0x40]
mov byte [ecx + 2], dl
mov edx, dword [esi + 0x40]
mov byte [edx + 3], al
movzx eax, byte [esi + 0x16f]
mov dword [ebp - 0x230], eax
mov eax, dword [esi + 0x38]
jmp case.0x531082.1
mov edi, dword [ebp - 0x210]
movzx eax, byte [ebp - 0x414]
movzx edx, byte [ebp - 0x413]
mov byte [edi], al
mov ecx, dword [esi + 0x40]
movzx eax, byte [ebp - 0x412]
mov byte [ecx + 1], dl
mov edi, dword [esi + 0x40]
movzx edx, byte [ebp - 0x411]
mov byte [edi + 2], al
mov ecx, dword [esi + 0x40]
mov byte [ecx + 3], dl
movzx eax, byte [esi + 0x16f]
mov dword [ebp - 0x230], eax
mov eax, dword [esi + 0x38]
jmp case.0x531082.1
push 0xc12
push str.for_wseq.c
push 2
push 8
call fcn.004db180
add esp, 0x10
movzx eax, byte [esi + 0x16f]
mov dword [ebp - 0x230], eax
mov eax, dword [esi + 0x38]
mov edx, dword [ebp - 0x230]
or edx, 2
mov byte [esi + 0x16f], dl
jmp 0x530807
movzx edx, byte [ebp - 0x418]
mov byte [eax], dl
mov edi, dword [esi + 0x38]
movzx eax, byte [ebp - 0x417]
mov byte [edi + 1], al
movzx ecx, byte [esi + 0x16f]
mov dword [ebp - 0x230], ecx
mov eax, dword [esi + 0x38]
jmp case.0x531082.1
test byte [esi + 0x16d], 0x20
je 0x531236
movzx edx, byte [ebp - 0x411]
mov byte [eax], dl
mov edi, dword [esi + 0x38]
movzx eax, byte [ebp - 0x412]
movzx ecx, byte [ebp - 0x413]
mov byte [edi + 1], al
mov edi, dword [esi + 0x38]
movzx eax, byte [ebp - 0x414]
mov byte [edi + 2], cl
mov edx, dword [esi + 0x38]
mov byte [edx + 3], al
movzx ecx, byte [esi + 0x16f]
mov dword [ebp - 0x230], ecx
mov eax, dword [esi + 0x38]
jmp case.0x531082.1
movzx edx, byte [ebp - 0x414]
mov byte [eax], dl
mov edi, dword [esi + 0x38]
movzx eax, byte [ebp - 0x413]
movzx ecx, byte [ebp - 0x412]
mov byte [edi + 1], al
mov edi, dword [esi + 0x38]
movzx eax, byte [ebp - 0x411]
mov byte [edi + 2], cl
mov edx, dword [esi + 0x38]
mov byte [edx + 3], al
movzx ecx, byte [esi + 0x16f]
mov dword [ebp - 0x230], ecx
mov eax, dword [esi + 0x38]
jmp case.0x531082.1
mov eax, dword [esi + 0x18]
test eax, eax
je 0x5312ed
test byte [eax + 0x44], 2
je 0x5312bd
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 0x5312a5
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x42
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x42
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp edx, 0xb
je 0x531329
movsx eax, byte [esi + 0x154]
mov dword [ebp - 0x1c8], eax
jmp 0x5305d6
movsx eax, byte [esi + 0x154]
cmp eax, 4
mov dword [ebp - 0x1c8], eax
je 0x531348
cmp dword [ebp - 0x1c8], 5
jne 0x5305d6
mov edi, dword [esi + 0x13c]
test edi, edi
mov eax, dword [esi + 0x38]
jne 0x53135a
mov edi, 0x20000
neg eax
add eax, dword [ebp - 0x1dc]
cmp eax, edi
jb 0x5305d6
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1e8], ecx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x5308d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x5313ff
test byte [eax + 0x44], 2
je 0x5313cf
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 0x5313b7
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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 0x5314a2
test byte [eax + 0x44], 2
je 0x531472
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 0x53145a
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
sub dword [ebp - 0x1dc], ecx
cmp dword [ebp - 0x1b8], 0
je 0x531729
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x1cc]
lea edx, [eax - 1]
not edx
and dword [ebp - 0x1dc], edx
cmp eax, 2
je 0x531785
cmp eax, 4
je 0x5316c7
cmp eax, 8
jne 0x5315b2
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x531741
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x14], esi
mov edx, dword [ebp - 0x224]
nop
mov esi, dword [edx + 4]
mov edi, esi
mov eax, dword [edx]
and edi, 0xff0000
mov dword [ebp - 0x224], 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 - 0x22c]
add eax, 0xfffffff8
mov edx, dword [ebp - 0x224]
mov dword [ecx + 4], edi
add ecx, 8
add edx, 8
mov dword [ebp - 0x22c], eax
test eax, eax
jg 0x531530
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x3c]
jmp 0x531741
cmp eax, 0x10
jne 0x531741
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x531741
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x224]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x220], edi
mov edi, edx
mov dword [ebp - 0x21c], 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 - 0x21c]
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 - 0x220]
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 - 0x228]
or edi, esi
add edx, 0xfffffff0
mov eax, dword [ebp - 0x224]
mov dword [ecx + 0xc], edi
add ecx, 0x10
add eax, 0x10
mov dword [ebp - 0x228], edx
test edx, edx
mov dword [ebp - 0x224], eax
jg 0x5315d2
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x3c]
jmp 0x531741
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x531741
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x14], esi
mov edx, dword [ebp - 0x224]
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 - 0x1e8]
mov dword [esi], ecx
add esi, 4
mov dword [ebp - 0x1e8], esi
test eax, eax
jg 0x5316e0
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x3c]
jmp 0x531741
push dword [ebp - 0x1dc]
push dword [ebp - 0x1ac]
push ecx
call fcn.005a35a0
add esp, 0xc
mov ecx, dword [esi + 0x3c]
mov eax, dword [ebp - 0x1dc]
add ecx, eax
push esi
sub dword [ebp - 0x1e0], eax
add dword [ebp - 0x1ac], eax
mov dword [esi + 0x3c], ecx
call fcn.00508260
add esp, 4
test eax, eax
jne 0x5317ca
mov edx, dword [esi + 0x40]
test edx, edx
je 0x5317ae
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 0x530899
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x531741
mov edi, dword [ebp - 0x224]
add eax, 0xfffffffe
movzx edx, word [edi]
add edi, 2
rol dx, 8
mov word [ecx], dx
add ecx, 2
test eax, eax
jg 0x531795
jmp 0x53173e
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 0x530899
mov edx, dword [esi + 0x18]
test edx, edx
je 0x53182d
test byte [edx + 0x44], 2
je 0x531802
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x5317ef
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x13c]
test eax, eax
jne 0x53185f
mov eax, 0x20000
mov dword [ebp - 0x3f4], eax
cmp eax, dword [ebp - 0x1b4]
jbe 0x53187b
cmp edx, 0xb
jne 0x5305ca
jmp 0x530eae
mov eax, dword [ebp - 0x14]
push 0
mov edx, ecx
push dword [eax + 0x38]
push eax
mov dword [eax + 0x40], edx
or byte [eax + 0x16d], 4
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x5318b7
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x1dc], edx
mov edx, dword [eax + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x5309b5
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x53192c
test byte [eax + 0x44], 2
je 0x5318fc
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 0x5318e4
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x198], esi
mov edi, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1e8]
mov eax, edx
test eax, eax
jle 0x53198f
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x13c]
test ecx, ecx
jne 0x53197e
mov ecx, 0x20000
cmp edi, ecx
jae 0x53198f
cmp dword [ebp - 0x1b8], 0
je 0x531b04
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x40]
test edx, edx
je 0x5319d1
sub esi, edx
push 0
push dword [eax + 0x38]
push eax
mov dword [ebp - 0x3f0], edx
call fcn.005087b0
mov edx, dword [ebp - 0x3f0]
add esp, 0xc
test esi, esi
je 0x531a15
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
cmp byte [ecx + 0x154], 5
je 0x531cc7
jmp 0x5319ea
mov edx, dword [eax + 0x38]
sub esi, edx
je 0x531a15
mov ecx, eax
mov dword [ecx + 0x3c], edx
cmp byte [ecx + 0x154], 5
je 0x531d7f
mov eax, dword [ebx + 0xc]
mov ecx, esi
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x14]
call fcn.005331a0
test eax, eax
jne 0x531cf9
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x44]
sub eax, dword [edx + 0x3c]
mov dword [edx + 0x148], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x13c]
test edx, edx
jne 0x531a27
mov edx, 0x20000
cmp edi, edx
jb 0x531a68
cmp dword [ebp - 0x1b8], 0
jne 0x531a89
cmp byte [eax + 0x154], 5
je 0x531e24
mov esi, dword [ebx + 0xc]
movsx ecx, byte [esi]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov edx, dword [ebp - 0x1ac]
call fcn.005331a0
mov edi, eax
test edi, edi
jne 0x531d9c
xor eax, eax
xor edi, edi
jmp 0x531a71
cmp dword [ebp - 0x1b8], 0
jne 0x531a89
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1bc], 1
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp 0x531b04
cmp edi, 0x6400000
mov edx, edi
mov esi, dword [ebp - 0x1cc]
lea eax, [ebp - 0x3dc]
jle 0x531aa4
mov edx, 0x6400000
dec esi
mov ecx, dword [ebp - 0x1ac]
not esi
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x3d8], esi
mov esi, edx
mov dword [ebp - 0x3e0], ecx
mov dword [ebp - 0x1e0], edi
mov edi, eax
push edi
push 0
push esi
call fcn.00505140
add esp, 0xc
test eax, eax
je 0x531af6
sar esi, 1
mov dword [ebp - 0x3dc], 0
and esi, dword [ebp - 0x3d8]
jne 0x531acd
jmp 0x531e5d
cmp dword [ebp - 0x3dc], 0
je 0x531acd
jmp 0x531ee3
cmp eax, edi
mov edx, eax
jb 0x531b0c
mov edx, edi
mov dword [ebp - 0x3bc], edx
cmp edx, 8
ja case.0x531b1b.3
jmp dword [edx*4 + 0x5f36c0]
cmp dword [ebp - 0x1c4], 0
je 0x531b4c
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esi + 4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi], ecx
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp case.0x531b1b.0
cmp dword [ebp - 0x1c0], 0
je 0x531b79
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x14]
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.0x531b1b.0
mov edx, dword [ebp - 0x1ac]
movzx eax, byte [edx]
mov byte [esi], al
mov eax, dword [ebp - 0x14]
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.0x531b1b.0
cmp dword [ebp - 0x1c0], 0
je 0x531bff
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [edx]
mov edx, dword [ebp - 0x14]
mov dword [esi], ecx
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp case.0x531b1b.0
mov edx, dword [ebp - 0x1ac]
movzx eax, byte [edx]
mov byte [esi], al
mov eax, dword [ebp - 0x14]
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.0x531b1b.0
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x14]
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.0x531b1b.0
mov edx, dword [ebp - 0x1ac]
movzx ecx, byte [edx]
mov edx, dword [ebp - 0x14]
mov byte [esi], cl
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp case.0x531b1b.0
push dword [ebp - 0x3bc]
push dword [ebp - 0x1ac]
push esi
call fcn.005a35a0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x3bc]
sub edi, ecx
add dword [ebp - 0x1ac], ecx
sub eax, ecx
add esi, ecx
mov dword [edx + 0x148], eax
test edi, edi
mov dword [edx + 0x3c], esi
jg 0x531968
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x53000e
push esi
push edx
push dword [ebp - 0x14]
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x531ce0
xor eax, eax
jmp 0x5319fe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xe8], eax
mov eax, 0x26
jmp 0x5319fe
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x531d5f
test byte [edx + 0x44], 2
je 0x531d34
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x531d21
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push edx
push dword [ebp - 0x14]
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x531ce0
xor eax, eax
jmp 0x5319fe
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x531e04
test byte [edx + 0x44], 2
je 0x531dd9
mov dword [edx + 0x38], edi
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], edi
mov edx, dword [esi + 0x64]
test edx, edx
je 0x531dc4
xor eax, eax
mov dword [edx + 4], eax
mov dword [esi + 0x64], eax
mov eax, edi
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push edi
push edi
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push edi
push dword [ebp - 0x1ac]
push dword [ebp - 0x14]
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x531e44
xor eax, eax
xor edi, edi
jmp 0x531a5a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x14]
mov edi, 0x26
mov dword [edx + 0xe8], eax
jmp 0x531a5a
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x531ec3
test byte [edx + 0x44], 2
je 0x531e98
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x531e85
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, esi
xor eax, eax
xor esi, esi
mov dword [ebp - 0x3ec], edx
mov edi, dword [ebp - 0x3e0]
mov dword [ebp - 0x3c8], edi
mov edi, dword [ebp - 0x1e0]
sub edi, esi
mov ecx, dword [ebp - 0x3ec]
cmp edi, ecx
mov edx, dword [ebp - 0x3dc]
jl 0x531f15
mov edi, ecx
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 2
je 0x5321dd
cmp ecx, 4
je 0x5320ed
cmp ecx, 8
jne 0x531fdc
mov ecx, edi
test edi, edi
jle 0x532163
mov dword [ebp - 0x3d4], ecx
mov dword [ebp - 0x3fc], edi
mov dword [ebp - 0x3f8], esi
mov ecx, dword [ebp - 0x3c8]
nop
lea esi, [esi]
mov esi, dword [ecx + 4]
mov edi, esi
mov eax, dword [ecx]
and edi, 0xff0000
mov dword [ebp - 0x3c8], 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 - 0x3d4]
add eax, 0xfffffff8
mov ecx, dword [ebp - 0x3c8]
mov dword [edx + 4], edi
add edx, 8
add ecx, 8
mov dword [ebp - 0x3d4], eax
test eax, eax
jg 0x531f60
jmp 0x532151
cmp ecx, 0x10
jne 0x532163
mov ecx, edi
test edi, edi
jle 0x532163
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3fc], edi
mov dword [ebp - 0x3f8], esi
mov eax, dword [ebp - 0x3c8]
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x3c4], edi
mov edi, ecx
mov dword [ebp - 0x3c0], 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 - 0x3c0]
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 - 0x3c4]
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 - 0x3d0]
or edi, esi
add ecx, 0xfffffff0
mov eax, dword [ebp - 0x3c8]
mov dword [edx + 0xc], edi
add edx, 0x10
add eax, 0x10
mov dword [ebp - 0x3d0], ecx
test ecx, ecx
mov dword [ebp - 0x3c8], eax
jg 0x532001
jmp 0x532151
mov eax, edi
test edi, edi
jle 0x532163
mov dword [ebp - 0x3cc], edx
mov dword [ebp - 0x3fc], edi
mov dword [ebp - 0x3f8], esi
mov edx, dword [ebp - 0x3c8]
nop
lea esi, [esi]
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 - 0x3cc]
mov dword [esi], ecx
add esi, 4
mov dword [ebp - 0x3cc], esi
test eax, eax
jg 0x532110
mov edi, dword [ebp - 0x3fc]
mov esi, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x14]
cmp byte [ecx + 0x154], 5
je 0x5321b1
mov ecx, dword [ebx + 0xc]
movsx ecx, byte [ecx]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov eax, dword [ebp - 0x14]
call fcn.005331a0
test eax, eax
jne 0x53219b
add esi, edi
add dword [ebp - 0x3e0], edi
cmp esi, dword [ebp - 0x1e0]
jl 0x531eef
mov edx, dword [ebp - 0x3dc]
mov edi, eax
push edx
call fcn.00505200
add esp, 4
jmp 0x531a5a
push edi
push edx
push dword [ebp - 0x14]
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x5321c7
xor eax, eax
jmp 0x532183
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xe8], eax
mov eax, 0x26
jmp 0x532183
mov ecx, edi
test edi, edi
jle 0x532163
mov dword [ebp - 0x3f8], esi
mov esi, dword [ebp - 0x3c8]
add ecx, 0xfffffffe
movzx eax, word [esi]
add esi, 2
rol ax, 8
mov word [edx], ax
add edx, 2
test ecx, ecx
jg 0x5321ef
mov esi, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0x3dc]
jmp 0x532163
cmp dword [ebp - 0x1b8], 0
jne 0x53224b
push dword [ebp - 0x1e0]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1e8]
call fcn.005a35a0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x530a6c
mov edx, dword [ebp - 0x1cc]
cmp edx, 2
je 0x5324db
cmp edx, 4
je 0x53245d
cmp edx, 8
jne 0x532331
mov edx, dword [ebp - 0x1e0]
test edx, edx
jle 0x530a6c
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x198], esi
mov eax, ecx
mov ecx, dword [ebp - 0x1ac]
nop
lea esi, [esi]
lea edi, [edi]
mov esi, dword [ecx + 4]
mov edi, esi
mov edx, dword [ecx]
and edi, 0xff0000
mov dword [ebp - 0x1ac], 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 - 0x40c]
add edx, 0xfffffff8
mov ecx, dword [ebp - 0x1ac]
mov dword [eax + 4], edi
add eax, 8
add ecx, 8
mov dword [ebp - 0x40c], edx
test edx, edx
jg 0x5322a0
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x530a6c
cmp edx, 0x10
jne 0x530a6c
mov edx, dword [ebp - 0x1e0]
test edx, edx
jle 0x530a6c
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x408], edx
mov dword [ebp - 0x1c], edi
mov esi, ecx
mov eax, dword [ebp - 0x1ac]
mov edi, dword [eax]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x404], edi
mov edi, edx
mov dword [ebp - 0x400], ecx
and edi, 0xff0000
mov dword [ebp - 0x1ac], 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 - 0x400]
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 - 0x404]
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 - 0x408]
or edi, ecx
add edx, 0xfffffff0
mov eax, dword [ebp - 0x1ac]
mov dword [esi + 0xc], edi
add esi, 0x10
add eax, 0x10
mov dword [ebp - 0x408], edx
test edx, edx
jg 0x53235f
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x530a6c
mov eax, dword [ebp - 0x1e0]
test eax, eax
jle 0x530a6c
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x198], esi
mov edx, dword [ebp - 0x1ac]
lea esi, [esi]
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 - 0x1e8]
mov dword [esi], ecx
add esi, 4
mov dword [ebp - 0x1e8], esi
test eax, eax
jg 0x532480
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x530a6c
mov eax, dword [ebp - 0x1e0]
test eax, eax
jle 0x530a6c
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x1c], edi
mov esi, dword [ebp - 0x1ac]
add eax, 0xfffffffe
movzx edx, word [esi]
add esi, 2
rol dx, 8
mov word [ecx], dx
add ecx, 2
test eax, eax
jg 0x5324f8
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x530a6c
mov edi, dword [ebp - 0x1d8]
xor eax, eax
mov ecx, 1
xor edx, edx
mov dword [ebp - 0x1ac], edi
mov esi, ecx
mov dword [ebp - 0x18], edx
mov edi, dword [ebp - 0x1b4]
cmp dword [ebp - 0x1b0], 0
jne 0x532572
mov dword [ebp - 0x1e0], edi
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], ecx
mov edi, dword [ebp - 0x1c]
jmp 0x530537
mov dword [ebp - 0x1e0], edi
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], ecx
mov edi, dword [ebp - 0x1c]
jmp 0x530269
mov edi, dword [ebp - 0x1d8]
xor eax, eax
mov ecx, 1
xor edx, edx
mov dword [ebp - 0x1ac], edi
mov esi, ecx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 0x18], edx
mov edi, dword [ebp - 0x1b4]
jmp 0x532552
cmp ecx, dword [ebp + esi - 0x3ac]
jg 0x53021b
mov ecx, dword [ebp + esi - 0x3b8]
imul ecx, dword [ebp + esi - 0x3b0]
cmp ecx, dword [ebp + esi - 0x3a4]
je 0x5325f0
mov esi, dword [ebp - 0x198]
jmp 0x52fe2d
inc edx
cmp edx, eax
jl 0x530201
mov esi, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x410]
jmp 0x530102
mov esi, dword [ebp - 0x14]
cmp dword [esi + 0x128], 0
je 0x5326c6
mov eax, dword [esi + 0x40]
test eax, eax
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x128], 0
je 0x532638
sub edx, eax
jne 0x5326c6
jmp 0x532643
mov eax, dword [esi + 0x38]
sub edx, eax
jne 0x5326c6
test byte [esi + 0x16f], 1
je 0x5327c7
mov eax, esi
call fcn.00533400
test eax, eax
je 0x5327ab
mov edx, dword [esi + 0x18]
test edx, edx
je 0x53286e
test byte [edx + 0x44], 2
je 0x53269b
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x532688
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [esi + 0x138], 7
jne 0x53270e
mov edx, dword [esi + 0x144]
test edx, edx
mov ecx, dword [esi + 0x3c]
jl 0x532ad5
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 0x53288e
mov byte [edx + edi], al
cmp byte [esi + 0x154], 3
je 0x5330b5
movzx eax, byte [esi + 0x16f]
test al, 1
jne 0x532739
test al, 0x40
jne 0x532d56
push esi
call fcn.00508260
add esp, 4
jmp 0x532740
mov eax, esi
call fcn.00533400
test eax, eax
je 0x5327ab
mov edx, dword [esi + 0x18]
test edx, edx
je 0x533075
test byte [edx + 0x44], 2
je 0x532780
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x53276d
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.00505780
add esp, 4
test eax, eax
je 0x53284e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x533095
test byte [edx + 0x44], 2
je 0x532823
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x532810
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edx, dword [ebp - 0x214]
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, edi
cdq
mov dword [ebp - 0x418], edx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov edx, 1
mov eax, dword [esi + 0xe4]
call fcn.005333a0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x532932
mov eax, dword [esi + 0x18]
test eax, eax
je 0x532a8b
test byte [eax + 0x44], 2
je 0x532902
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 0x5328ea
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 1
lea eax, [esi + 0x15e]
push eax
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x5329bf
mov eax, dword [esi + 0x18]
test eax, eax
je 0x532ab0
test byte [eax + 0x44], 2
je 0x53298f
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 0x532977
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0x418]
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.005333a0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x53270e
mov eax, dword [esi + 0x18]
test eax, eax
je 0x532a66
test byte [eax + 0x44], 2
je 0x532a36
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 0x532a1e
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, dword [esi + 0x44]
sub eax, ecx
cmp eax, 1
jg 0x532cb2
push esi
call fcn.00508260
add esp, 4
test eax, eax
je 0x532b57
mov edx, dword [esi + 0x18]
test edx, edx
je 0x532cf3
test byte [edx + 0x44], 2
je 0x532b2c
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x532b19
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0
push esi
and byte [esi + 0x170], 0xbf
call fcn.0050a260
add esp, 8
test eax, eax
je 0x532be3
mov eax, dword [esi + 0x18]
test eax, eax
je 0x532d13
test byte [eax + 0x44], 2
je 0x532bb3
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 0x532b9b
xor edx, edx
mov dword [eax + 4], edx
mov dword [esi + 0x64], edx
mov eax, 0x26
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
movsx eax, byte [esi + 0x154]
dec eax
cmp eax, 7
ja case.default.0x532bf4
jmp dword [eax*4 + 0x5f3704]
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x532c07
mov dword [esi + 0x3c], ecx
jmp 0x532c0d
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 0x532cb2
mov edx, dword [esi + 0x40]
mov eax, 1
mov word [ebp - 0x418], ax
test edx, edx
je 0x532d38
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 0x532cb2
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x532c62
add ecx, 4
jmp 0x532c68
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 0x532cb2
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x532c86
mov dword [esi + 0x3c], ecx
jmp 0x532c8c
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov eax, ecx
add eax, dword [esi + 0xf8]
mov dword [esi + 0x44], eax
jmp 0x532cb2
push 0xa6e
push str.for_wseq.c
push 2
push 8
call fcn.004db180
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 0x532ce2
mov edi, edx
mov dword [esi + 0x144], edx
mov dword [esi + 0x148], edi
jmp 0x5326e0
push esi
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
mov eax, 0x26
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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 - 0x417]
mov byte [edx + 3], al
mov ecx, dword [esi + 0x38]
add ecx, 4
jmp 0x532c46
movsx eax, byte [esi + 0x154]
dec eax
mov edi, dword [esi + 0x134]
cmp eax, 7
mov edx, dword [esi + 0xf8]
ja case.default.0x532d73
jmp dword [eax*4 + 0x5f3724]
push edi
push dword [esi + 0x80]
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x532fe5
push 1
and byte [esi + 0x16c], 0xbf
lea eax, [ebp - 0x414]
push eax
push esi
mov byte [ebp - 0x414], 0xd
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
jmp 0x532fba
push edi
push dword [esi + 0x80]
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x532fe5
and byte [esi + 0x16c], 0xbf
cmp byte [esi + 0x154], 8
je 0x533002
xor eax, eax
lea edx, [ebp - 0x414]
mov byte [ebp + eax - 0x414], 0xa
inc eax
push eax
push edx
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
jmp 0x532fba
push edi
push dword [esi + 0x80]
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x532fe5
and byte [esi + 0x16c], 0xbf
jmp 0x532fba
mov edx, dword [esi + 0x38]
lea eax, [edi + 2]
push 4
mov byte [edx], al
mov ecx, dword [esi + 0x38]
shr eax, 8
mov byte [ecx + 1], al
push dword [esi + 0x38]
push esi
and byte [esi + 0x16c], 0xbf
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
push edi
push dword [esi + 0x80]
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
and edi, 0x80000001
jge 0x532e94
sub edi, 1
or edi, 0xfffffffe
inc edi
test edi, edi
je 0x532fba
push 1
mov byte [ebp - 0x418], 0
lea eax, [ebp - 0x418]
push eax
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
jmp 0x532fba
push 4
mov dword [ebp - 0x410], edi
lea eax, [ebp - 0x410]
push eax
push esi
and byte [esi + 0x16c], 0xbf
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
push edi
push dword [esi + 0x80]
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
push 4
lea eax, [ebp - 0x410]
push eax
push esi
call fcn.005087b0
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
jmp 0x532fba
and byte [esi + 0x16c], 0xbf
test byte [esi + 0x16b], 8
je 0x532f4a
test byte [esi + 0x168], 1
je 0x532f4a
cmp byte [esi + 0x155], 2
je 0x533013
push edi
push dword [esi + 0x80]
push esi
mov dword [ebp - 0x418], edx
call fcn.005087b0
mov edx, dword [ebp - 0x418]
add esp, 0xc
cmp eax, 0xffffffff
je 0x533042
cmp edi, edx
jge 0x532fba
sub edx, edi
push edx
push 0
push dword [esi + 0x38]
mov dword [ebp - 0x418], edx
call fcn.005a3600
mov edx, dword [ebp - 0x418]
push edx
push dword [esi + 0x38]
push esi
call fcn.005087b0
add esp, 0x18
cmp eax, 0xffffffff
je 0x533042
jmp 0x532fba
push 0x1080
push str.for_wseq.c
push 2
push 8
call fcn.004db180
add esp, 0x10
test byte [esi + 0x16d], 8
je 0x532fde
push dword [esi + 0xe4]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x533058
and byte [esi + 0x16d], 0xf7
xor eax, eax
jmp 0x532740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, 0x26
and byte [esi + 0x16c], 0xbf
jmp 0x532740
mov byte [ebp - 0x414], 0xd
mov eax, 1
jmp 0x532df0
push 1
dec edx
lea eax, [ebp - 0x414]
push eax
push esi
mov byte [ebp - 0x414], 0x20
mov dword [ebp - 0x418], edx
call fcn.005087b0
mov edx, dword [ebp - 0x418]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x532f4a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, 0x26
jmp 0x532740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, 0x26
and byte [esi + 0x16d], 0xf7
jmp 0x532740
push esi
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 0
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x5330dd
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 0x53271b
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 0x53271b
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x533167
test byte [edx + 0x44], 2
je 0x53313c
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x533129
xor edx, edx
mov dword [ecx + 4], edx
mov dword [esi + 0x64], edx
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
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.0050ffa0
add esp, 0x14
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push esi
push eax
push eax
push 1
call fcn.004d9080
add esp, 0x10
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
xor eax, eax
mov esi, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1fc]
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret