Function at 0x43c2a0
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.0042e810
add esp, 0x10
test eax, eax
jne 0x43f741
mov edi, dword [ebp - 0x1d0]
cmp edi, 2
je 0x43f7c7
cmp edi, 1
je 0x43ec4a
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 0x16d]
test cl, 0x20
je 0x43c390
movsx edx, byte [eax + 0x158]
test edx, edx
jne 0x43c390
cmp dword [ebp - 0x1cc], 1
jle 0x43c390
cmp edi, 5
jl 0x43c390
cmp edi, 0x11
jle 0x43c384
cmp edi, 0x19
jl 0x43c390
cmp edi, 0x1f
jle 0x43c384
cmp edi, 0x32
jl 0x43c37a
cmp edi, 0x34
jle 0x43c384
jmp 0x43c390
cmp edi, 0x28
jl 0x43c390
cmp edi, 0x30
jg 0x43c390
mov dword [ebp - 0x1b0], 1
jmp 0x43c398
xor eax, eax
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x3b8]
cmp dword [ebp - 0x1b0], 0
je 0x43c3b0
cmp eax, 5
je 0x43c722
cmp eax, 7
jl 0x43c4fc
cmp eax, 8
jg 0x43c4fc
mov edx, dword [ebp - 0x1cc]
xor eax, eax
mov dword [ebp - 0x1b8], eax
test edx, edx
mov dword [ebp - 0x218], edx
je 0x43c3ed
mov eax, dword [ebp - 0x1d4]
cdq
mov esi, dword [ebp - 0x218]
idiv esi
mov esi, eax
jmp 0x43c3f1
xor eax, eax
xor esi, esi
mov edx, dword [ebp - 0x218]
test esi, esi
mov dword [ebp - 0x1b4], edx
jne 0x43c40d
mov dword [ebp - 0x10], 1
jmp 0x43c2f0
cmp edi, 0x34
je 0x43c41c
cmp edi, 0x1c
jl 0x43c437
cmp edi, 0x2c
jg 0x43c437
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 0x43c43e
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x3b4]
test eax, eax
jle 0x43c4a1
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp - 0x3a4]
jne 0x43c46d
mov edx, dword [ebp - 0x3a8]
cmp edx, dword [ebp - 0x3ac]
jg 0x43c46d
cmp edx, 1
je 0x43c739
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 0x43c46f
xor ecx, ecx
test eax, eax
jle 0x43c4c6
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 0x43c4a9
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.0042f7c0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x128], 0
jmp 0x43c628
cmp eax, 6
je 0x43c50a
cmp eax, 5
jne 0x43c5d0
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1cc], 0
je 0x43c401
mov eax, dword [ebp - 0x1d4]
test eax, eax
mov dword [ebp - 0x1b4], eax
je 0x43c401
test cl, 0x10
je 0x43c58c
cmp dword [ebp - 0x1b8], 0
jne 0x43c580
push dword [ebp - 0x14]
lea eax, [ebp - 0x1d8]
push eax
call fcn.0042fe70
add esp, 8
test eax, eax
je 0x43c580
mov eax, dword [ebp - 0x1cc]
test eax, eax
mov dword [ebp - 0x1b4], eax
je 0x43c57a
mov eax, dword [ebp - 0x1d4]
cdq
mov ecx, dword [ebp - 0x1b4]
idiv ecx
mov esi, eax
jmp 0x43c591
xor eax, eax
xor esi, esi
jmp 0x43c591
xor edx, edx
mov esi, 1
mov dword [ebp - 0x18], edx
jmp 0x43c591
mov esi, 1
mov edx, dword [ebp - 0x14]
test byte [edx + 0x168], 2
je 0x43c628
test esi, esi
jne 0x43c5c4
mov eax, edx
mov dword [ebp - 0x10], 1
mov dword [eax + 0x128], 1
movzx ecx, byte [eax + 0x16d]
jmp 0x43c2f0
mov dword [edx + 0x128], 0
jmp 0x43c628
cmp edi, 0x34
je 0x43c5df
cmp edi, 0x1c
jl 0x43c5f2
cmp edi, 0x2c
jg 0x43c5f2
mov eax, dword [ebp - 0x1cc]
mov esi, 2
mov dword [ebp - 0x1b4], eax
jmp 0x43c613
mov eax, dword [ebp - 0x1d4]
test eax, eax
mov dword [ebp - 0x1b4], eax
jne 0x43c60e
mov dword [ebp - 0x10], 1
jmp 0x43c2f0
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 0x43c884
cmp esi, 1
jle 0x43c70f
mov eax, dword [ebp - 0x3b8]
cmp eax, 7
je 0x43c66b
cmp eax, 8
jne 0x43c6f0
test edi, edi
je 0x43c682
mov edi, dword [ebp - 0x1cc]
xor eax, eax
add dword [ebp - 0x1d8], edi
dec esi
xor edi, edi
jmp 0x43c644
cmp dword [ebp - 0x20], 0
mov ecx, dword [ebp - 0x3b4]
je 0x43c693
mov edi, 1
xor eax, eax
test ecx, ecx
jle 0x43c6ca
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 0x43c6a4
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.0042f7c0
add esp, 0xc
jmp 0x43c6fc
mov eax, dword [ebp - 0x1cc]
add dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x14]
dec esi
mov dword [edx + 0x128], 0
jmp 0x43c644
nop
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], edi
movzx ecx, byte [eax + 0x16d]
jmp 0x43c2f0
xor eax, eax
mov dword [ebp - 0x1b8], 1
mov dword [ebp - 0x1b0], eax
jmp 0x43c512
cmp eax, 1
jg 0x43c830
test cl, 0x10
jne 0x43c784
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 0x43c866
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x43c2f0
push dword [ebp - 0x14]
lea edx, [ebp - 0x1d8]
push edx
call fcn.0042fe70
add esp, 8
test eax, eax
jne 0x43c7d7
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 0x43eb69
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x43c2f0
cmp dword [ebp - 0x1b0], 0
je 0x43c81d
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 0x43ebd2
mov eax, ecx
movzx ecx, byte [eax + 0x16d]
jmp 0x43c2f0
mov eax, dword [ebp - 0x3b4]
test eax, eax
jg 0x43c46d
jmp 0x43c4a1
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 0x43ec00
mov esi, dword [ebp - 0x198]
jmp 0x43c46d
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 0x43cb2d
mov edx, dword [ebp - 0x1b4]
lea edx, [edx + 3]
and edx, dword [ebp - 0x1ac]
test dl, 3
jne 0x43ca76
cmp dword [ebp - 0x1b4], 4
je 0x43ca3f
cmp dword [ebp - 0x1b4], 8
jne 0x43c940
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 0x43cb1f
cmp dword [ebp - 0x1b4], 0x10
jne 0x43ca26
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 0x43cb1f
mov edx, dword [ebp - 0x1ac]
movzx edx, word [edx]
rol dx, 8
mov word [ebp - 0x1f8], dx
jmp 0x43cb1f
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 0x43cb1f
cmp dword [ebp - 0x1b4], 1
je 0x43d41e
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 0x43cb1f
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 0x43cad0
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
lea edx, [ebp - 0x1f8]
mov dword [ebp - 0x1ac], edx
jmp 0x43cb77
cmp dword [ebp - 0x18], 0
je 0x43cb77
cmp dword [ebp - 0x1d0], 0x38
je 0x43cb77
lea edx, [ebp - 0x1f8]
push edx
push dword [ebp - 0x14]
push dword [ebp - 0x1b4]
lea edx, [ebp - 0x1d8]
push edx
call fcn.0042f9d0
add esp, 0x10
test eax, eax
lea edx, [ebp - 0x1f8]
mov dword [ebp - 0x1ac], edx
je 0x43cb77
push 0
push 0x5f
call fcn.00417f60
add esp, 8
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx + 0x16f]
test al, 0x20
je 0x43cb97
cmp esi, 1
je 0x43d432
and eax, 0xffffffdf
mov byte [edx + 0x16f], al
test al, 0x40
jne 0x43c64e
mov edx, dword [edx + 0x138]
cmp edx, 7
je 0x43d0c3
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 0x43cf0c
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax + 0x154]
cmp eax, 5
mov dword [ebp - 0x1c8], eax
je 0x43de8d
cmp edx, 0xb
jne 0x43cc0a
cmp dword [ebp - 0x1c8], 4
je 0x43d4d6
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x1c], edi
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x1c8], 3
je 0x43db07
mov edi, dword [ebp - 0x1e0]
cmp edi, 0x200
mov eax, dword [esi + 0xf8]
jg 0x43cc3c
mov edi, 0x200
mov dword [ebp - 0x1e4], eax
shr eax, 3
cmp eax, edi
jge 0x43cc4b
mov eax, edi
cmp edx, 0xb
jne 0x43cc80
cmp dword [ebp - 0x1c8], 5
je 0x43cc62
cmp dword [ebp - 0x1c8], 4
jne 0x43cc80
mov edi, dword [esi + 0x13c]
test edi, edi
jne 0x43cc71
mov edi, 0x20000
sub edi, dword [ebp - 0x1dc]
add edi, dword [esi + 0x38]
cmp edi, eax
jge 0x43cc80
mov eax, edi
test byte [esi + 0x16f], 1
je 0x43cca8
cmp edx, 0xb
jne 0x43ce85
cmp dword [ebp - 0x1c8], 5
je 0x43cca8
cmp dword [ebp - 0x1c8], 4
jne 0x43ce85
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.0042f5c0
add esp, 8
test eax, eax
je 0x43ce80
cmp dword [esi + 0x138], 0xb
jne 0x43cd75
movsx eax, byte [esi + 0x154]
cmp eax, 5
je 0x43ccff
cmp eax, 4
jne 0x43cd75
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43d50d
test byte [eax + 0x44], 2
je 0x43cd45
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 0x43cd2d
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.004299d0
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 0x43d8bb
movsx edx, byte [esi + 0x154]
cmp edx, 1
je 0x43d8bb
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 0x43d6ab
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 0x43d678
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.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43d5d5
push dword [ebp - 0x1e0]
push dword [ebp - 0x1ac]
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43d532
jmp 0x43cecb
mov ecx, dword [esi + 0x3c]
jmp 0x43ced9
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.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43da64
push dword [ebp - 0x1e0]
push dword [ebp - 0x1ac]
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43d9c1
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 0x43d952
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1e8], ecx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x43cf19
cmp dword [ebp - 0x1bc], 0
je 0x43cfdc
cmp dword [ebp - 0x1b4], 8
jne 0x43cf93
test byte [ebp - 0x1e8], 7
jne 0x43cf51
test byte [ebp - 0x1d8], 7
jne 0x43cf51
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1c4], 1
jmp 0x43cfdc
test byte [ebp - 0x1e8], 3
jne 0x43cf7d
test byte [ebp - 0x1d8], 3
jne 0x43cf7d
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], 1
jmp 0x43cfdc
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], eax
jmp 0x43cfdc
cmp dword [ebp - 0x1b4], 4
jne 0x43cfc8
test byte [ebp - 0x1e8], 3
jne 0x43cf7d
test byte [ebp - 0x1d8], 3
jne 0x43cf7d
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c0], 1
jmp 0x43cfdc
xor eax, eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1c4], eax
cmp edx, 0xb
jne 0x43d022
mov edx, dword [ebp - 0x14]
movsx edx, byte [edx + 0x154]
cmp edx, 5
je 0x43cff5
cmp edx, 4
jne 0x43d022
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 0x43df91
jmp 0x43c64e
cmp dword [ebp - 0x1e0], 4
jne 0x43d052
cmp dword [ebp - 0x1c0], 0
je 0x43e857
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 0x43d0ac
cmp dword [ebp - 0x1e0], 8
jne 0x43d086
cmp dword [ebp - 0x1c4], 0
je 0x43e857
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 0x43d0ac
cmp dword [ebp - 0x1e0], 1
jne 0x43e857
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 0x43c64e
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x138], 7
jne 0x43c64e
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 0x43d0fb
mov ecx, dword [esi + 0x144]
jmp 0x43d20e
push esi
call fcn.0042c620
add esp, 4
test eax, eax
jne 0x43d39b
push 0
push esi
and byte [esi + 0x170], 0xbf
call fcn.0042e620
add esp, 8
test eax, eax
jne 0x43d304
movsx eax, byte [esi + 0x154]
dec eax
cmp eax, 7
ja case.default.0x43d137
jmp dword [eax*4 + 0x4cf16c]
mov eax, dword [esi + 0x40]
test eax, eax
je 0x43d14a
mov dword [esi + 0x3c], eax
jmp 0x43d150
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 0x43d1f8
mov edx, dword [esi + 0x40]
mov eax, 1
mov word [ebp - 0x416], ax
test edx, edx
je 0x43d2d5
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 0x43d1f8
mov eax, dword [esi + 0x40]
test eax, eax
je 0x43d1a5
add eax, 4
jmp 0x43d1ab
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 0x43d1f8
mov eax, dword [esi + 0x40]
test eax, eax
je 0x43d1c9
mov dword [esi + 0x3c], eax
jmp 0x43d1cf
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
mov edx, eax
add edx, dword [esi + 0xf8]
mov dword [esi + 0x44], edx
jmp 0x43d1f8
push 0x9a0
push str.for_wseq.c
push 2
push 8
call fcn.00417f60
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 0x43d208
mov edi, ecx
mov dword [esi + 0x148], edi
test ecx, ecx
jge 0x43d250
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 0x43d244
mov edi, ecx
mov dword [esi + 0x144], ecx
mov dword [esi + 0x148], edi
cmp dword [ebp - 0x1e0], 0
je 0x43d2f3
test ecx, ecx
jne 0x43d283
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 0x43d0e7
mov edi, dword [esi + 0x148]
mov ecx, dword [ebp - 0x1e0]
cmp edi, ecx
jb 0x43d295
mov edi, ecx
test edi, edi
jbe 0x43d0e7
push edi
push dword [ebp - 0x1ac]
push eax
call fcn.004aacb0
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 0x43d0e7
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 0x43d189
mov dword [ebp - 0x14], esi
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x43c64e
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43d376
test byte [eax + 0x44], 2
je 0x43d346
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 0x43d32e
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.004299d0
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.00415e60
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 0x43d3fe
test byte [edx + 0x44], 2
je 0x43d3d3
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43d3c0
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.004299d0
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.00415e60
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 0x43cb1f
mov edx, dword [ebx + 0xc]
cmp byte [edx], 1
je 0x43d44b
mov edx, dword [ebp - 0x14]
and eax, 0xffffffdf
mov byte [edx + 0x16f], al
jmp 0x43cb97
mov edx, dword [ebp - 0x14]
and eax, 0xffffffdf
cmp byte [edx + 0x154], 1
je 0x43d465
mov byte [edx + 0x16f], al
jmp 0x43cb97
test byte [edx + 0x16b], 8
je 0x43d489
test byte [edx + 0x168], 1
je 0x43d480
cmp byte [edx + 0x155], 2
je 0x43d45a
test byte [edx + 0x171], 0x40
jne 0x43d45a
mov ecx, edx
mov edx, dword [ebp - 0x1b4]
cmp edx, dword [ecx + 0xf8]
jne 0x43d4a1
add edx, dword [ecx + 0x3c]
cmp edx, dword [ecx + 0x44]
jbe 0x43d4ae
mov edx, ecx
mov byte [edx + 0x16f], al
jmp 0x43cb97
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 0x43cb97
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x13c]
test eax, eax
jne 0x43d4e8
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 0x43cc0a
jmp 0x43cf0c
push esi
mov eax, 0x42
push eax
push eax
push 1
call fcn.00415e60
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 0x43d5b0
test byte [eax + 0x44], 2
je 0x43d580
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 0x43d568
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.004299d0
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.00415e60
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 0x43d653
test byte [eax + 0x44], 2
je 0x43d623
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 0x43d60b
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.004299d0
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.00415e60
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 0x43d69a
mov eax, 0xffffffff
mov dword [ebp - 0x3e8], eax
mov edx, eax
mov dword [ebp - 0x3e4], eax
jmp 0x43ce38
mov eax, dword [ebp - 0x3e8]
mov edx, dword [ebp - 0x3e4]
jmp 0x43ce38
cmp dword [ebp - 0x198], 1
jne 0x43cdfe
dec edx
cmp edx, 7
ja case.default.0x43d6c2
jmp dword [edx*4 + 0x4cf128]
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 0x43d800
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.0x43d6c2.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 0x43d828
test byte [esi + 0x16d], 0x20
je 0x43d77e
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.0x43d6c2.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.0x43d6c2.1
push 0xc12
push str.for_wseq.c
push 2
push 8
call fcn.00417f60
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 0x43ce47
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.0x43d6c2.1
test byte [esi + 0x16d], 0x20
je 0x43d876
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.0x43d6c2.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.0x43d6c2.1
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43d92d
test byte [eax + 0x44], 2
je 0x43d8fd
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 0x43d8e5
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.004299d0
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.00415e60
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 0x43d969
movsx eax, byte [esi + 0x154]
mov dword [ebp - 0x1c8], eax
jmp 0x43cc16
movsx eax, byte [esi + 0x154]
cmp eax, 4
mov dword [ebp - 0x1c8], eax
je 0x43d988
cmp dword [ebp - 0x1c8], 5
jne 0x43cc16
mov edi, dword [esi + 0x13c]
test edi, edi
mov eax, dword [esi + 0x38]
jne 0x43d99a
mov edi, 0x20000
neg eax
add eax, dword [ebp - 0x1dc]
cmp eax, edi
jb 0x43cc16
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1e8], ecx
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x43cf19
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43da3f
test byte [eax + 0x44], 2
je 0x43da0f
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 0x43d9f7
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.004299d0
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.00415e60
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 0x43dae2
test byte [eax + 0x44], 2
je 0x43dab2
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 0x43da9a
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.004299d0
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.00415e60
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 0x43dd69
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 0x43ddc5
cmp eax, 4
je 0x43dd07
cmp eax, 8
jne 0x43dbf2
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x43dd81
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 0x43db70
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x3c]
jmp 0x43dd81
cmp eax, 0x10
jne 0x43dd81
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x43dd81
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 0x43dc12
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x3c]
jmp 0x43dd81
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x43dd81
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 0x43dd20
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x3c]
jmp 0x43dd81
push dword [ebp - 0x1dc]
push dword [ebp - 0x1ac]
push ecx
call fcn.004aacb0
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.0042c620
add esp, 4
test eax, eax
jne 0x43de0a
mov edx, dword [esi + 0x40]
test edx, edx
je 0x43ddee
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 0x43ced9
mov eax, dword [ebp - 0x1dc]
test eax, eax
jle 0x43dd81
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 0x43ddd5
jmp 0x43dd7e
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 0x43ced9
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43de6d
test byte [edx + 0x44], 2
je 0x43de42
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43de2f
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.004299d0
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.00415e60
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 0x43de9f
mov eax, 0x20000
mov dword [ebp - 0x3f4], eax
cmp eax, dword [ebp - 0x1b4]
jbe 0x43debb
cmp edx, 0xb
jne 0x43cc0a
jmp 0x43d4ee
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.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43def7
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 0x43cff5
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43df6c
test byte [eax + 0x44], 2
je 0x43df3c
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 0x43df24
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.004299d0
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.00415e60
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 0x43dfcf
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x13c]
test ecx, ecx
jne 0x43dfbe
mov ecx, 0x20000
cmp edi, ecx
jae 0x43dfcf
cmp dword [ebp - 0x1b8], 0
je 0x43e144
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x40]
test edx, edx
je 0x43e011
sub esi, edx
push 0
push dword [eax + 0x38]
push eax
mov dword [ebp - 0x3f0], edx
call fcn.0042cb70
mov edx, dword [ebp - 0x3f0]
add esp, 0xc
test esi, esi
je 0x43e055
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x38]
mov dword [ecx + 0x3c], eax
cmp byte [ecx + 0x154], 5
je 0x43e307
jmp 0x43e02a
mov edx, dword [eax + 0x38]
sub esi, edx
je 0x43e055
mov ecx, eax
mov dword [ecx + 0x3c], edx
cmp byte [ecx + 0x154], 5
je 0x43e3bf
mov eax, dword [ebx + 0xc]
mov ecx, esi
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x14]
call fcn.0043f7e0
test eax, eax
jne 0x43e339
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 0x43e067
mov edx, 0x20000
cmp edi, edx
jb 0x43e0a8
cmp dword [ebp - 0x1b8], 0
jne 0x43e0c9
cmp byte [eax + 0x154], 5
je 0x43e464
mov esi, dword [ebx + 0xc]
movsx ecx, byte [esi]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov edx, dword [ebp - 0x1ac]
call fcn.0043f7e0
mov edi, eax
test edi, edi
jne 0x43e3dc
xor eax, eax
xor edi, edi
jmp 0x43e0b1
cmp dword [ebp - 0x1b8], 0
jne 0x43e0c9
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1bc], 1
mov esi, dword [edx + 0x3c]
mov eax, dword [edx + 0x148]
jmp 0x43e144
cmp edi, 0x6400000
mov edx, edi
mov esi, dword [ebp - 0x1cc]
lea eax, [ebp - 0x3dc]
jle 0x43e0e4
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.00411f20
add esp, 0xc
test eax, eax
je 0x43e136
sar esi, 1
mov dword [ebp - 0x3dc], 0
and esi, dword [ebp - 0x3d8]
jne 0x43e10d
jmp 0x43e49d
cmp dword [ebp - 0x3dc], 0
je 0x43e10d
jmp 0x43e523
cmp eax, edi
mov edx, eax
jb 0x43e14c
mov edx, edi
mov dword [ebp - 0x3bc], edx
cmp edx, 8
ja case.0x43e15b.3
jmp dword [edx*4 + 0x4cf148]
cmp dword [ebp - 0x1c4], 0
je 0x43e18c
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.0x43e15b.0
cmp dword [ebp - 0x1c0], 0
je 0x43e1b9
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.0x43e15b.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.0x43e15b.0
cmp dword [ebp - 0x1c0], 0
je 0x43e23f
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.0x43e15b.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.0x43e15b.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.0x43e15b.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.0x43e15b.0
push dword [ebp - 0x3bc]
push dword [ebp - 0x1ac]
push esi
call fcn.004aacb0
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 0x43dfa8
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x198]
jmp 0x43c64e
push esi
push edx
push dword [ebp - 0x14]
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43e320
xor eax, eax
jmp 0x43e03e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xe8], eax
mov eax, 0x26
jmp 0x43e03e
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43e39f
test byte [edx + 0x44], 2
je 0x43e374
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43e361
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.004299d0
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.00415e60
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.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43e320
xor eax, eax
jmp 0x43e03e
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43e444
test byte [edx + 0x44], 2
je 0x43e419
mov dword [edx + 0x38], edi
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], edi
mov edx, dword [esi + 0x64]
test edx, edx
je 0x43e404
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.004299d0
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.00415e60
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.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43e484
xor eax, eax
xor edi, edi
jmp 0x43e09a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x14]
mov edi, 0x26
mov dword [edx + 0xe8], eax
jmp 0x43e09a
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43e503
test byte [edx + 0x44], 2
je 0x43e4d8
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43e4c5
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.004299d0
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.00415e60
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 0x43e555
mov edi, ecx
mov ecx, dword [ebp - 0x1cc]
cmp ecx, 2
je 0x43e81d
cmp ecx, 4
je 0x43e72d
cmp ecx, 8
jne 0x43e61c
mov ecx, edi
test edi, edi
jle 0x43e7a3
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 0x43e5a0
jmp 0x43e791
cmp ecx, 0x10
jne 0x43e7a3
mov ecx, edi
test edi, edi
jle 0x43e7a3
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 0x43e641
jmp 0x43e791
mov eax, edi
test edi, edi
jle 0x43e7a3
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 0x43e750
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 0x43e7f1
mov ecx, dword [ebx + 0xc]
movsx ecx, byte [ecx]
mov dword [esp + 0xc], ecx
mov ecx, edi
mov eax, dword [ebp - 0x14]
call fcn.0043f7e0
test eax, eax
jne 0x43e7db
add esi, edi
add dword [ebp - 0x3e0], edi
cmp esi, dword [ebp - 0x1e0]
jl 0x43e52f
mov edx, dword [ebp - 0x3dc]
mov edi, eax
push edx
call fcn.00411fe0
add esp, 4
jmp 0x43e09a
push edi
push edx
push dword [ebp - 0x14]
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43e807
xor eax, eax
jmp 0x43e7c3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [ebp - 0x14]
mov dword [edx + 0xe8], eax
mov eax, 0x26
jmp 0x43e7c3
mov ecx, edi
test edi, edi
jle 0x43e7a3
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 0x43e82f
mov esi, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0x3dc]
jmp 0x43e7a3
cmp dword [ebp - 0x1b8], 0
jne 0x43e88b
push dword [ebp - 0x1e0]
push dword [ebp - 0x1ac]
push dword [ebp - 0x1e8]
call fcn.004aacb0
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x3c]
mov dword [ebp - 0x1e8], edx
jmp 0x43d0ac
mov edx, dword [ebp - 0x1cc]
cmp edx, 2
je 0x43eb1b
cmp edx, 4
je 0x43ea9d
cmp edx, 8
jne 0x43e971
mov edx, dword [ebp - 0x1e0]
test edx, edx
jle 0x43d0ac
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 0x43e8e0
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 0x43d0ac
cmp edx, 0x10
jne 0x43d0ac
mov edx, dword [ebp - 0x1e0]
test edx, edx
jle 0x43d0ac
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 0x43e99f
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 0x43d0ac
mov eax, dword [ebp - 0x1e0]
test eax, eax
jle 0x43d0ac
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 0x43eac0
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 0x43d0ac
mov eax, dword [ebp - 0x1e0]
test eax, eax
jle 0x43d0ac
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 0x43eb38
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 0x43d0ac
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 0x43ebb2
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 0x43cb77
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 0x43c8a9
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 0x43eb92
cmp ecx, dword [ebp + esi - 0x3ac]
jg 0x43c85b
mov ecx, dword [ebp + esi - 0x3b8]
imul ecx, dword [ebp + esi - 0x3b0]
cmp ecx, dword [ebp + esi - 0x3a4]
je 0x43ec30
mov esi, dword [ebp - 0x198]
jmp 0x43c46d
inc edx
cmp edx, eax
jl 0x43c841
mov esi, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x410]
jmp 0x43c742
mov esi, dword [ebp - 0x14]
cmp dword [esi + 0x128], 0
je 0x43ed06
mov eax, dword [esi + 0x40]
test eax, eax
mov edx, dword [esi + 0x3c]
mov dword [esi + 0x128], 0
je 0x43ec78
sub edx, eax
jne 0x43ed06
jmp 0x43ec83
mov eax, dword [esi + 0x38]
sub edx, eax
jne 0x43ed06
test byte [esi + 0x16f], 1
je 0x43ee07
mov eax, esi
call fcn.0043fa40
test eax, eax
je 0x43edeb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43eeae
test byte [edx + 0x44], 2
je 0x43ecdb
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43ecc8
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.004299d0
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 0x43ed4e
mov edx, dword [esi + 0x144]
test edx, edx
mov ecx, dword [esi + 0x3c]
jl 0x43f115
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 0x43eece
mov byte [edx + edi], al
cmp byte [esi + 0x154], 3
je 0x43f6f5
movzx eax, byte [esi + 0x16f]
test al, 1
jne 0x43ed79
test al, 0x40
jne 0x43f396
push esi
call fcn.0042c620
add esp, 4
jmp 0x43ed80
mov eax, esi
call fcn.0043fa40
test eax, eax
je 0x43edeb
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43f6b5
test byte [edx + 0x44], 2
je 0x43edc0
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43edad
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.004299d0
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.00423830
add esp, 4
test eax, eax
je 0x43ee8e
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43f6d5
test byte [edx + 0x44], 2
je 0x43ee63
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43ee50
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.004299d0
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.00415e60
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.0043f9e0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x43ef72
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43f0cb
test byte [eax + 0x44], 2
je 0x43ef42
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 0x43ef2a
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.004299d0
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.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
jne 0x43efff
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43f0f0
test byte [eax + 0x44], 2
je 0x43efcf
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 0x43efb7
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.004299d0
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.0043f9e0
mov ecx, 0xffffffff
sub eax, ecx
sub edx, ecx
or eax, edx
jne 0x43ed4e
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43f0a6
test byte [eax + 0x44], 2
je 0x43f076
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 0x43f05e
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.004299d0
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.00415e60
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.00415e60
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.00415e60
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 0x43f2f2
push esi
call fcn.0042c620
add esp, 4
test eax, eax
je 0x43f197
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43f333
test byte [edx + 0x44], 2
je 0x43f16c
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43f159
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.004299d0
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.0042e620
add esp, 8
test eax, eax
je 0x43f223
mov eax, dword [esi + 0x18]
test eax, eax
je 0x43f353
test byte [eax + 0x44], 2
je 0x43f1f3
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 0x43f1db
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.004299d0
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.0x43f234
jmp dword [eax*4 + 0x4cf18c]
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x43f247
mov dword [esi + 0x3c], ecx
jmp 0x43f24d
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 0x43f2f2
mov edx, dword [esi + 0x40]
mov eax, 1
mov word [ebp - 0x418], ax
test edx, edx
je 0x43f378
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 0x43f2f2
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x43f2a2
add ecx, 4
jmp 0x43f2a8
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 0x43f2f2
mov ecx, dword [esi + 0x40]
test ecx, ecx
je 0x43f2c6
mov dword [esi + 0x3c], ecx
jmp 0x43f2cc
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x3c], ecx
mov eax, ecx
add eax, dword [esi + 0xf8]
mov dword [esi + 0x44], eax
jmp 0x43f2f2
push 0xa6e
push str.for_wseq.c
push 2
push 8
call fcn.00417f60
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 0x43f322
mov edi, edx
mov dword [esi + 0x144], edx
mov dword [esi + 0x148], edi
jmp 0x43ed20
push esi
push eax
push eax
push 1
call fcn.00415e60
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.00415e60
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 0x43f286
movsx eax, byte [esi + 0x154]
dec eax
mov edi, dword [esi + 0x134]
cmp eax, 7
mov edx, dword [esi + 0xf8]
ja case.default.0x43f3b3
jmp dword [eax*4 + 0x4cf1ac]
push edi
push dword [esi + 0x80]
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f625
push 1
and byte [esi + 0x16c], 0xbf
lea eax, [ebp - 0x414]
push eax
push esi
mov byte [ebp - 0x414], 0xd
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
jmp 0x43f5fa
push edi
push dword [esi + 0x80]
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f625
and byte [esi + 0x16c], 0xbf
cmp byte [esi + 0x154], 8
je 0x43f642
xor eax, eax
lea edx, [ebp - 0x414]
mov byte [ebp + eax - 0x414], 0xa
inc eax
push eax
push edx
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
jmp 0x43f5fa
push edi
push dword [esi + 0x80]
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f625
and byte [esi + 0x16c], 0xbf
jmp 0x43f5fa
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.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
push edi
push dword [esi + 0x80]
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
and edi, 0x80000001
jge 0x43f4d4
sub edi, 1
or edi, 0xfffffffe
inc edi
test edi, edi
je 0x43f5fa
push 1
mov byte [ebp - 0x418], 0
lea eax, [ebp - 0x418]
push eax
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
jmp 0x43f5fa
push 4
mov dword [ebp - 0x410], edi
lea eax, [ebp - 0x410]
push eax
push esi
and byte [esi + 0x16c], 0xbf
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
push edi
push dword [esi + 0x80]
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
push 4
lea eax, [ebp - 0x410]
push eax
push esi
call fcn.0042cb70
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
jmp 0x43f5fa
and byte [esi + 0x16c], 0xbf
test byte [esi + 0x16b], 8
je 0x43f58a
test byte [esi + 0x168], 1
je 0x43f58a
cmp byte [esi + 0x155], 2
je 0x43f653
push edi
push dword [esi + 0x80]
push esi
mov dword [ebp - 0x418], edx
call fcn.0042cb70
mov edx, dword [ebp - 0x418]
add esp, 0xc
cmp eax, 0xffffffff
je 0x43f682
cmp edi, edx
jge 0x43f5fa
sub edx, edi
push edx
push 0
push dword [esi + 0x38]
mov dword [ebp - 0x418], edx
call fcn.004aac50
mov edx, dword [ebp - 0x418]
push edx
push dword [esi + 0x38]
push esi
call fcn.0042cb70
add esp, 0x18
cmp eax, 0xffffffff
je 0x43f682
jmp 0x43f5fa
push 0x1080
push str.for_wseq.c
push 2
push 8
call fcn.00417f60
add esp, 0x10
test byte [esi + 0x16d], 8
je 0x43f61e
push dword [esi + 0xe4]
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x43f698
and byte [esi + 0x16d], 0xf7
xor eax, eax
jmp 0x43ed80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, 0x26
and byte [esi + 0x16c], 0xbf
jmp 0x43ed80
mov byte [ebp - 0x414], 0xd
mov eax, 1
jmp 0x43f430
push 1
dec edx
lea eax, [ebp - 0x414]
push eax
push esi
mov byte [ebp - 0x414], 0x20
mov dword [ebp - 0x418], edx
call fcn.0042cb70
mov edx, dword [ebp - 0x418]
add esp, 0xc
cmp eax, 0xffffffff
jne 0x43f58a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, 0x26
jmp 0x43ed80
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xe8], eax
mov eax, 0x26
and byte [esi + 0x16d], 0xf7
jmp 0x43ed80
push esi
push eax
push eax
push 1
call fcn.00415e60
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.00415e60
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 0x43f71d
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 0x43ed5b
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 0x43ed5b
mov esi, dword [ebp - 0x14]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x43f7a7
test byte [edx + 0x44], 2
je 0x43f77c
mov dword [edx + 0x38], eax
mov edx, dword [esi + 0x18]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x43f769
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.004299d0
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.00415e60
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