Function at 0x4388e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55ff60
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x8af4c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x14]
mov bl, 1
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x64], eax
nop
test bl, bl
je 0x43a64e
cmp byte [0x8b00f4], 0
mov al, byte [ebp + eax - 0x1c]
mov byte [ebp - 0x26], al
jne 0x438949
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
cmp byte [0x8b00f6], 0
mov ebx, dword [0x8b061c]
mov esi, dword [0x8b05f8]
jne 0x438998
mov edx, dword [0x8af518]
mov ecx, 0x8b01d8
nop dword [eax]
mov eax, edx
sub edx, 0xffff
not eax
xor eax, ebx
xor eax, esi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x438970
mov dword [0x8af518], edx
mov byte [0x8b00f6], 1
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x24], bl
mov ebx, dword fs:[0x2c]
mov edi, dword [ebp - 0x24]
xor edi, dword [0x8b05d4]
mov dword [ebp - 0x24], edi
mov ecx, dword [ebx]
cmp eax, dword [ecx + 4]
jle 0x4389ef
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x4389e9
push 0x8b06b4
mov dword [0x8b06b0], edi
call fcn.0055e772
add esp, 4
mov esi, dword [0x8b05f8]
mov ecx, dword [ebx]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x438a31
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x438a2b
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8b05f8]
mov edx, esi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, esi
mov ecx, dword [ebp - 0x24]
btc edx, 0
mov eax, edx
mov byte [ebp - 0x25], 0
xor ecx, 0x1000000
shr eax, 8
mov dword [ebp - 0x24], ecx
xor edx, esi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, esi
xor ecx, 0x1000000
shr eax, 0x10
mov dword [ebp - 0x24], ecx
btc edx, 8
shr ecx, 0x10
xor al, cl
shr edx, 0x18
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov dword [0x8b0674], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor dl, al
mov byte [ebp - 0x25], 0
movzx eax, byte [0x8b05fc]
mov byte [ebp - 0x21], dl
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x8b0600]
xor ecx, 0x100
imul eax, eax, 0xff
mov dword [ebp - 0x30], 0
mov byte [0x8b0650], 0
sub edx, eax
xor edx, ecx
xor edx, dword [0x8b06b0]
cmp byte [0x8b00f7], 0
mov dword [ebp - 0x24], edx
mov dword [0x8b06b0], 0
mov dword [ebp - 0x38], edx
mov byte [ebp - 0x3c], 0
jne 0x438b33
cmp byte [0x8b00f4], 0
jne 0x438b33
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
mov byte [0x8b00f7], 1
cmp byte [0x8b00f5], 0
mov al, byte [ebp - 0x26]
mov byte [ebp - 0x3c], al
mov byte [ebp - 0x34], 1
jne 0x438b4b
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x3c]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov bl, cl
test cl, cl
jne 0x438c16
mov dword [ebp - 4], 0x1e
cmp dword [0x8b0104], 0
je 0x438d5d
mov edx, dword [0x8b014c]
test edx, edx
je 0x438d5d
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edx]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push ebx
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
test dl, dl
je 0x438d5d
mov bl, byte [ebp - 0x3c]
xor edx, edx
nop dword [eax + eax]
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0150]
xor al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor bl, al
cmp edx, 4
jb 0x438c20
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0190]
xor al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor bl, al
cmp edx, 8
jb 0x438c50
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor bl, al
cmp edx, 0xc
jb 0x438c80
mov byte [ebp - 0x3c], bl
mov al, byte [esi + 5]
mov byte [ebp - 0x74], al
test al, al
je 0x438d60
mov dword [ebp - 4], 0x1f
cmp dword [0x8b0104], 0
je 0x438d60
mov edx, dword [0x8b014c]
test edx, edx
je 0x438d60
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edx]
push dword [ebp - 0x74]
mov edx, dword [esi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x3c]
cmp byte [0x8b00f6], 0
mov edi, dword [0x8b05f8]
mov esi, dword [0x8af518]
jne 0x438da8
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x438d80
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov eax, dword [0x8b061c]
mov dword [ebp - 0x24], eax
xor al, bl
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ecx
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx]
cmp eax, dword [ecx + 4]
jle 0x438e22
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x438e13
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x3c]
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x438e73
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x438e64
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x3c]
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov edx, edi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
mov eax, edx
mov byte [ebp - 0x25], 0
xor ecx, 0x1000000
shr eax, 8
mov dword [ebp - 0x24], ecx
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
xor ecx, 0x1000000
shr eax, 0x10
mov dword [ebp - 0x24], ecx
btc edx, 8
shr ecx, 0x10
xor cl, al
shr edx, 0x18
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov dword [0x8b0674], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov byte [ebp - 0x25], 0
mov byte [ebp - 0x21], al
mov ecx, dword [ebp - 0x24]
movzx eax, bl
xor ecx, 0x100
imul edx, eax, 0xffffff80
movzx eax, byte [0x8b05fc]
imul eax, eax, 0xff
mov dword [ebp - 0x30], 0
mov byte [0x8b0650], 0
mov byte [ebp - 0x34], 0
sub edx, eax
add edx, dword [0x8b0600]
xor edx, ecx
xor edx, dword [0x8b06b0]
mov dword [0x8b06b0], 0
mov dword [ebp - 0x38], edx
mov dword [ebp - 4], 0x20
cmp byte [0x8b00f6], 0
jne 0x438f98
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
nop dword [eax]
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edi
xor eax, edx
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x438f70
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
mov esi, dword fs:[0x2c]
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jle 0x43900f
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x439006
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x3c]
mov edi, dword [0x8b05f8]
mov ecx, dword [esi]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x439054
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43904b
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x3c]
mov edi, dword [0x8b05f8]
mov edx, edi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
mov eax, edx
mov byte [ebp - 0x25], 0
shr eax, 8
xor ecx, 0x1000000
mov dword [ebp - 0x24], ecx
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x21], al
movzx eax, bl
imul edx, eax, 0xffffff80
movzx eax, byte [0x8b05fc]
imul eax, eax, 0xff
mov byte [0x8b0650], 0
sub edx, eax
add edx, dword [0x8b0600]
xor edx, dword [ebp - 0x24]
xor edx, dword [0x8b06b0]
xor edx, 0x100
mov dword [0x8b06b0], 0
mov dword [ebp - 0x24], edx
cmp edx, dword [ebp - 0x38]
je 0x439147
mov esi, dword [0x8b00f0]
sub esp, 0x28
mov ecx, esp
push edx
push dword [ebp - 0x38]
call fcn.00419830
lea ecx, [ebp - 0x3c]
call esi
mov al, byte [ebp - 0x3c]
cmp byte [0x8b00f5], 0
mov byte [ebp - 0x34], 1
jne 0x43915c
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x3c]
call fcn.00419560
mov edi, eax
mov cl, byte [edi + 5]
mov bl, cl
test cl, cl
jne 0x439227
mov dword [ebp - 4], 0x21
cmp dword [0x8b0104], 0
je 0x43936c
mov edx, dword [0x8b014c]
test edx, edx
je 0x43936c
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
mov eax, dword [edx]
movzx ecx, byte [edi + 4]
mov dl, byte [0x8af528]
push ebx
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [edi + 0xa]
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [edi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [edi], cl
movzx ecx, byte [0x8af528]
xor byte [edi + 1], cl
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
test dl, dl
je 0x43936c
mov dl, byte [ebp - 0x3c]
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b0148]
inc esi
mov al, byte [ecx*4 + 0x8b0150]
xor al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor dl, al
cmp esi, 4
jb 0x439230
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b01d0]
inc esi
mov al, byte [ecx*4 + 0x8b0190]
xor al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor dl, al
cmp esi, 8
jb 0x439260
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b00f8]
inc esi
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor dl, al
cmp esi, 0xc
jb 0x439290
mov byte [ebp - 0x3c], dl
mov al, byte [edi + 5]
mov bl, al
test al, al
je 0x43936c
mov dword [ebp - 4], 0x22
cmp dword [0x8b0104], 0
je 0x43936c
mov edx, dword [0x8b014c]
test edx, edx
je 0x43936c
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
mov eax, dword [edx]
movzx ecx, byte [edi + 4]
mov dl, byte [0x8af528]
push ebx
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [edi + 0xa]
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [edi + 5], al
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
cmp byte [0x8b00f5], 0
mov al, byte [ebp - 0x3c]
mov byte [ebp - 0x26], al
mov byte [ebp - 0x34], 1
jne 0x439384
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x3c]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov bl, cl
test cl, cl
jne 0x43944f
mov dword [ebp - 4], 0x23
cmp dword [0x8b0104], 0
je 0x43959d
mov edx, dword [0x8b014c]
test edx, edx
je 0x43959d
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edx]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push ebx
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
test dl, dl
je 0x43959d
mov bl, byte [ebp - 0x3c]
xor edx, edx
nop dword [eax]
nop dword [eax + eax]
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor al, byte [ecx*4 + 0x8b0150]
xor bl, al
cmp edx, 4
jb 0x439460
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0190]
xor al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor bl, al
cmp edx, 8
jb 0x439490
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b0108]
xor al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor bl, al
cmp edx, 0xc
jb 0x4394c0
mov byte [ebp - 0x3c], bl
mov al, byte [esi + 5]
mov byte [ebp - 0x68], al
test al, al
je 0x4395a0
mov dword [ebp - 4], 0x24
cmp dword [0x8b0104], 0
je 0x4395a0
mov edx, dword [0x8b014c]
test edx, edx
je 0x4395a0
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edx]
push dword [ebp - 0x68]
mov edx, dword [esi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x3c]
cmp byte [0x8b00f6], 0
mov edi, dword [0x8b05f8]
mov esi, dword [0x8af518]
jne 0x4395e8
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x4395c0
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov eax, dword [0x8b061c]
mov dword [ebp - 0x24], eax
xor al, bl
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [0x8b06b4]
cmp eax, dword [ecx + 4]
jle 0x439661
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x439652
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x3c]
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x4396b2
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x4396a3
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x3c]
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov edx, edi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov eax, edx
mov dword [ebp - 0x24], ecx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor cl, al
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], cl
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor al, cl
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], al
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x21], al
mov ecx, dword [ebp - 0x24]
movzx eax, bl
xor ecx, 0x100
imul edx, eax, 0xffffff80
movzx eax, byte [0x8b05fc]
imul eax, eax, 0xff
mov byte [0x8b0650], 0
mov byte [ebp - 0x34], 0
sub edx, eax
mov al, byte [ebp - 0x26]
add edx, dword [0x8b0600]
xor edx, ecx
mov ecx, dword [ebp - 0x64]
xor edx, dword [0x8b06b0]
mov dword [0x8b06b0], 0
mov dword [ebp - 0x38], edx
cmp byte [ebp + ecx - 0x20], al
sete byte [ebp - 0x26]
cmp byte [0x8b00f4], 0
jne 0x4397b5
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
cmp byte [0x8b00f6], 0
jne 0x4397f8
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
nop dword [eax]
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x4397d0
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ebx, dword fs:[0x2c]
mov eax, dword [0x8b061c]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x24], al
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x24]
xor esi, dword [0x8b05d4]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], esi
cmp eax, dword [ecx + 4]
jle 0x439854
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43984e
push 0x8b06b4
mov dword [0x8b06b0], esi
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov ecx, dword [ebx]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x439896
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x439890
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov edx, edi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov eax, edx
mov dword [ebp - 0x24], ecx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
xor ecx, 0x1000000
shr eax, 0x10
mov dword [ebp - 0x24], ecx
btc edx, 8
shr ecx, 0x10
xor cl, al
shr edx, 0x18
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov dword [0x8b0674], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov byte [ebp - 0x25], 0
mov edx, dword [0x8b0600]
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
mov ecx, dword [ebp - 0x24]
imul eax, eax, 0xff
xor ecx, 0x100
mov dword [ebp - 0x30], 0
mov byte [0x8b0650], 0
sub edx, eax
xor edx, ecx
xor edx, dword [0x8b06b0]
cmp byte [0x8b00f7], 0
mov dword [ebp - 0x24], edx
mov dword [0x8b06b0], 0
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x54], 0
jne 0x439998
cmp byte [0x8b00f4], 0
jne 0x439998
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
mov byte [0x8b00f7], 1
cmp byte [0x8b00f5], 0
mov al, byte [ebp - 0x26]
mov byte [ebp - 0x54], al
mov byte [ebp - 0x4c], 1
jne 0x4399b0
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x54]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov bl, cl
test cl, cl
jne 0x439a79
mov dword [ebp - 4], 0x25
cmp dword [0x8b0104], 0
je 0x439bbf
mov edx, dword [0x8b014c]
test edx, edx
je 0x439bbf
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edx]
mov edx, dword [esi + 0xa]
push ebx
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
test dl, dl
je 0x439bbf
mov bl, byte [ebp - 0x54]
xor edx, edx
nop
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor al, byte [ecx*4 + 0x8b0150]
xor bl, al
cmp edx, 4
jb 0x439a80
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor al, byte [ecx*4 + 0x8b0190]
xor bl, al
cmp edx, 8
jb 0x439ab0
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor bl, al
cmp edx, 0xc
jb 0x439ae0
mov byte [ebp - 0x54], bl
mov al, byte [esi + 5]
mov byte [ebp - 0x6c], al
test al, al
je 0x439bc2
mov dword [ebp - 4], 0x26
cmp dword [0x8b0104], 0
je 0x439bc2
mov edx, dword [0x8b014c]
test edx, edx
je 0x439bc2
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edx]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push dword [ebp - 0x6c]
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x54]
cmp byte [0x8b00f6], 0
mov edi, dword [0x8b05f8]
mov esi, dword [0x8af518]
jne 0x439c0a
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x439be2
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov eax, dword [0x8b061c]
mov dword [ebp - 0x24], eax
xor al, bl
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [0x8b06b4]
cmp eax, dword [ecx + 4]
jle 0x439c83
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x439c74
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x54]
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x439cd4
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x439cc5
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x54]
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov edx, edi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], ecx
mov eax, edx
shr ecx, 8
xor edx, edi
shr eax, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor ecx, 0x1000000
shr eax, 0x10
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, edi
mov ecx, dword [ebp - 0x24]
xor eax, edx
xor ecx, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], ecx
btc eax, 8
shr eax, 0x18
shr ecx, 0x18
xor cl, al
mov dword [ebp - 0x30], 0
movzx eax, bl
imul edx, eax, 0xffffff80
movzx eax, byte [0x8b05fc]
imul eax, eax, 0xff
mov byte [ebp - 0x21], cl
mov ecx, dword [ebp - 0x24]
xor ecx, 0x100
mov byte [0x8b0650], 0
mov byte [ebp - 0x4c], 0
sub edx, eax
add edx, dword [0x8b0600]
xor edx, ecx
xor edx, dword [0x8b06b0]
mov dword [0x8b06b0], 0
mov dword [ebp - 0x50], edx
mov dword [ebp - 4], 0x27
cmp byte [0x8b00f6], 0
jne 0x439df8
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
nop dword [eax]
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x439dd0
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov eax, dword [0x8b061c]
mov esi, dword fs:[0x2c]
mov dword [ebp - 0x24], eax
xor al, bl
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jle 0x439e6c
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x439e63
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x54]
mov edi, dword [0x8b05f8]
mov ecx, dword [esi]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x439eb1
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x439ea8
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x54]
mov edi, dword [0x8b05f8]
mov edx, edi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
mov eax, edx
mov byte [ebp - 0x25], 0
shr eax, 8
xor ecx, 0x1000000
mov dword [ebp - 0x24], ecx
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x21], al
movzx eax, bl
imul edx, eax, 0xffffff80
movzx eax, byte [0x8b05fc]
imul eax, eax, 0xff
mov byte [0x8b0650], 0
sub edx, eax
add edx, dword [0x8b0600]
xor edx, dword [ebp - 0x24]
xor edx, dword [0x8b06b0]
xor edx, 0x100
mov dword [0x8b06b0], 0
mov dword [ebp - 0x24], edx
cmp edx, dword [ebp - 0x50]
je 0x439fa4
mov esi, dword [0x8b00f0]
sub esp, 0x28
mov ecx, esp
push edx
push dword [ebp - 0x50]
call fcn.00419830
lea ecx, [ebp - 0x54]
call esi
mov al, byte [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
cmp byte [0x8b00f5], 0
mov byte [ebp - 0x4c], 1
jne 0x439fc0
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x54]
call fcn.00419560
mov edi, eax
mov cl, byte [edi + 5]
mov byte [ebp - 0x70], cl
test cl, cl
jne 0x43a0a1
mov dword [ebp - 4], 0x28
cmp dword [0x8b0104], 0
mov ebx, dword [0x8b014c]
je 0x43a08f
test ebx, ebx
je 0x43a08f
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
mov eax, dword [ebx]
movzx ecx, byte [edi + 4]
mov dl, byte [0x8af528]
push dword [ebp - 0x70]
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [edi + 0xa]
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], 0
mov dl, al
mov ebx, dword [0x8b014c]
sete cl
mov byte [0x8b00d8], dl
mov byte [edi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [edi], cl
movzx ecx, byte [0x8af528]
xor byte [edi + 1], cl
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
mov dword [ebp - 0x24], 0
jmp 0x43a091
xor dl, dl
mov dword [ebp - 4], 0xffffffff
test dl, dl
jne 0x43a0a7
jmp 0x43a1eb
mov ebx, dword [0x8b014c]
mov dl, byte [ebp - 0x54]
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b0148]
inc esi
mov al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor al, byte [ecx*4 + 0x8b0150]
xor dl, al
cmp esi, 4
jb 0x43a0b0
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b01d0]
inc esi
mov al, byte [ecx*4 + 0x8b0190]
xor al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor dl, al
cmp esi, 8
jb 0x43a0e0
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b00f8]
inc esi
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor dl, al
cmp esi, 0xc
jb 0x43a110
mov byte [ebp - 0x54], dl
mov al, byte [edi + 5]
mov dl, al
test al, al
je 0x43a1eb
mov dword [ebp - 4], 0x29
cmp dword [0x8b0104], 0
je 0x43a1e4
test ebx, ebx
je 0x43a1e4
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
movzx ecx, byte [edi + 4]
mov eax, dword [ebx]
push edx
mov edx, dword [edi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [edi + 5], al
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
mov dword [ebp - 4], 0xffffffff
cmp byte [0x8b00f5], 0
mov bh, byte [ebp - 0x54]
mov byte [ebp - 0x4c], 1
jne 0x43a200
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x54]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov dl, cl
test cl, cl
jne 0x43a2df
mov dword [ebp - 4], 0x2a
cmp dword [0x8b0104], 0
mov edi, dword [0x8b014c]
je 0x43a2ca
test edi, edi
je 0x43a2ca
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edi]
push edx
mov edx, dword [esi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov dl, al
mov edi, dword [0x8b014c]
sete cl
mov byte [0x8b00d8], dl
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov dword [ebp - 0x24], 0
jmp 0x43a2cc
xor dl, dl
mov dword [ebp - 4], 0xffffffff
test dl, dl
jne 0x43a2e5
mov bl, byte [ebp - 0x54]
jmp 0x43a433
mov edi, dword [0x8b014c]
mov bl, byte [ebp - 0x54]
xor edx, edx
nop word [eax + eax]
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0150]
xor al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor bl, al
cmp edx, 4
jb 0x43a2f0
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0190]
xor al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor bl, al
cmp edx, 8
jb 0x43a320
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor bl, al
cmp edx, 0xc
jb 0x43a350
mov byte [ebp - 0x54], bl
mov al, byte [esi + 5]
mov byte [ebp - 0x2c], al
test al, al
je 0x43a433
mov dword [ebp - 4], 0x2b
cmp dword [0x8b0104], 0
je 0x43a42c
test edi, edi
je 0x43a42c
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edi]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push dword [ebp - 0x2c]
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x54]
mov dword [ebp - 4], 0xffffffff
cmp byte [0x8b00f6], 0
mov esi, dword [0x8b05f8]
jne 0x43a47b
mov edx, dword [0x8af518]
mov ecx, 0x8b01d8
mov edi, dword [0x8b061c]
mov eax, edx
sub edx, 0xffff
not eax
xor eax, edi
xor eax, esi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43a453
mov dword [0x8af518], edx
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
mov edi, dword fs:[0x2c]
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [edi]
cmp eax, dword [ecx + 4]
jle 0x43a4f2
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43a4e9
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x54]
mov esi, dword [0x8b05f8]
mov ecx, dword [edi]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43a537
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43a52e
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov bl, byte [ebp - 0x54]
mov esi, dword [0x8b05f8]
mov edx, esi
mov dword [ebp - 0x30], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x30], 1
xor byte [ebp - 0x24], dl
xor edx, esi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov eax, edx
mov dword [ebp - 0x24], ecx
shr eax, 8
xor edx, esi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, esi
xor ecx, 0x1000000
shr eax, 0x10
mov dword [ebp - 0x24], ecx
btc edx, 8
shr ecx, 0x10
xor cl, al
shr edx, 0x18
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov dword [0x8b0674], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov byte [ebp - 0x25], 0
mov byte [ebp - 0x21], al
mov ecx, dword [ebp - 0x24]
movzx eax, bl
xor ecx, 0x100
imul edx, eax, 0xffffff80
movzx eax, byte [0x8b05fc]
imul eax, eax, 0xff
mov dword [ebp - 0x30], 0
mov byte [0x8b0650], 0
mov byte [ebp - 0x4c], 1
sub edx, eax
add edx, dword [0x8b0600]
xor edx, ecx
lea ecx, [ebp - 0x54]
xor edx, dword [0x8b06b0]
test bh, bh
mov dword [0x8b06b0], 0
mov dword [ebp - 0x50], edx
setne bl
call fcn.00419380
lea ecx, [ebp - 0x3c]
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov byte [ebp - 0x4c], 0
mov byte [ebp - 0x34], 1
call fcn.00419380
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov byte [ebp - 0x34], 0
jmp 0x43a655
mov edi, dword fs:[0x2c]
inc eax
mov dword [ebp - 0x64], eax
cmp eax, 4
jb 0x438920
xor eax, eax
mov byte [ebp - 0x18], bl
mov byte [ebp - 0x14], 1
mov bl, 1
mov dword [ebp - 0x64], eax
test bl, bl
je 0x43c389
cmp byte [0x8b00f4], 0
mov al, byte [ebp + eax - 0x14]
mov byte [ebp - 0x26], al
jne 0x43a699
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
cmp byte [0x8b00f6], 0
mov ebx, dword [0x8b061c]
mov esi, dword [0x8b05f8]
jne 0x43a6e8
mov edx, dword [0x8af518]
mov ecx, 0x8b01d8
nop dword [eax]
mov eax, edx
sub edx, 0xffff
not eax
xor eax, ebx
xor eax, esi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43a6c0
mov dword [0x8af518], edx
mov byte [0x8b00f6], 1
mov ecx, dword [edi]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x24], bl
mov ebx, dword [ebp - 0x24]
xor ebx, dword [0x8b05d4]
mov dword [ebp - 0x24], ebx
cmp eax, dword [ecx + 4]
jle 0x43a738
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43a732
push 0x8b06b4
mov dword [0x8b06b0], ebx
call fcn.0055e772
add esp, 4
mov esi, dword [0x8b05f8]
mov ecx, dword [edi]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43a77a
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43a774
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8b05f8]
mov edx, esi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, esi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov eax, edx
mov dword [ebp - 0x24], ecx
shr eax, 8
xor edx, esi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, esi
xor ecx, 0x1000000
shr eax, 0x10
mov dword [ebp - 0x24], ecx
btc edx, 8
shr ecx, 0x10
xor cl, al
shr edx, 0x18
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov dword [0x8b0674], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov byte [ebp - 0x25], 0
mov edx, dword [0x8b0600]
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
mov ecx, dword [ebp - 0x24]
imul eax, eax, 0xff
xor ecx, 0x100
mov dword [ebp - 0x2c], 0
mov byte [0x8b0650], 0
sub edx, eax
xor edx, ecx
xor edx, dword [0x8b06b0]
cmp byte [0x8b00f7], 0
mov dword [ebp - 0x24], edx
mov dword [0x8b06b0], 0
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x48], 0
jne 0x43a87c
cmp byte [0x8b00f4], 0
jne 0x43a87c
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
mov byte [0x8b00f7], 1
cmp byte [0x8b00f5], 0
mov al, byte [ebp - 0x26]
mov byte [ebp - 0x48], al
mov byte [ebp - 0x40], 1
jne 0x43a894
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x48]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov bl, cl
test cl, cl
jne 0x43a95f
mov dword [ebp - 4], 0xc8
cmp dword [0x8b0104], 0
je 0x43aaaf
mov edx, dword [0x8b014c]
test edx, edx
je 0x43aaaf
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edx]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push ebx
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
test dl, dl
je 0x43aaaf
mov bl, byte [ebp - 0x48]
xor edx, edx
nop dword [eax]
nop dword [eax + eax]
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0150]
xor al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor bl, al
cmp edx, 4
jb 0x43a970
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0190]
xor al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor bl, al
cmp edx, 8
jb 0x43a9a0
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b0108]
xor al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor bl, al
cmp edx, 0xc
jb 0x43a9d0
mov byte [ebp - 0x48], bl
mov al, byte [esi + 5]
mov byte [ebp - 0x70], al
test al, al
je 0x43aab2
mov dword [ebp - 4], 0xc9
cmp dword [0x8b0104], 0
je 0x43aab2
mov edx, dword [0x8b014c]
test edx, edx
je 0x43aab2
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edx]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push dword [ebp - 0x70]
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x48]
cmp byte [0x8b00f6], 0
mov edi, dword [0x8b05f8]
mov esi, dword [0x8af518]
jne 0x43aafa
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43aad2
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [0x8b06b4]
cmp eax, dword [ecx + 4]
jle 0x43ab76
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43ab67
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x48]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43abc7
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43abb8
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x48]
mov edx, edi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov eax, edx
mov dword [ebp - 0x24], ecx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
mov edx, dword [ebp - 0x24]
imul ecx, eax, 0xff
xor edx, 0x100
movzx eax, bl
imul eax, eax, 0xffffff80
mov byte [0x8b0650], 0
mov byte [ebp - 0x40], 0
sub eax, ecx
add eax, dword [0x8b0600]
xor eax, edx
xor eax, dword [0x8b06b0]
mov dword [0x8b06b0], 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 4], 0xca
cmp byte [0x8b00f6], 0
jne 0x43ace8
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
nop dword [eax]
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43acc0
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
mov esi, dword fs:[0x2c]
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jle 0x43ad5f
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43ad56
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x48]
mov ecx, dword [esi]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43ada4
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43ad9b
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x48]
mov edx, edi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], ecx
mov eax, edx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor cl, al
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], cl
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
imul ecx, eax, 0xff
movzx eax, bl
imul eax, eax, 0xffffff80
mov byte [0x8b0650], 0
sub eax, ecx
add eax, dword [0x8b0600]
xor eax, dword [ebp - 0x24]
xor eax, dword [0x8b06b0]
xor eax, 0x100
mov dword [0x8b06b0], 0
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x44]
je 0x43ae96
mov esi, dword [0x8b00f0]
sub esp, 0x28
mov ecx, esp
push eax
push dword [ebp - 0x44]
call fcn.00419830
lea ecx, [ebp - 0x48]
call esi
mov al, byte [ebp - 0x48]
cmp byte [0x8b00f5], 0
mov byte [ebp - 0x40], 1
jne 0x43aeab
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x48]
call fcn.00419560
mov edi, eax
mov cl, byte [edi + 5]
mov bl, cl
test cl, cl
jne 0x43af74
mov dword [ebp - 4], 0xcb
cmp dword [0x8b0104], 0
je 0x43b0ba
mov edx, dword [0x8b014c]
test edx, edx
je 0x43b0ba
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
movzx ecx, byte [edi + 4]
mov eax, dword [edx]
mov edx, dword [edi + 0xa]
push ebx
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [edi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [edi], cl
movzx ecx, byte [0x8af528]
xor byte [edi + 1], cl
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
test dl, dl
je 0x43b0ba
mov dl, byte [ebp - 0x48]
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b0148]
inc esi
mov al, byte [ecx*4 + 0x8b0150]
xor al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor dl, al
cmp esi, 4
jb 0x43af80
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b01d0]
inc esi
mov al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor al, byte [ecx*4 + 0x8b0190]
xor dl, al
cmp esi, 8
jb 0x43afb0
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b00f8]
inc esi
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor dl, al
cmp esi, 0xc
jb 0x43afe0
mov byte [ebp - 0x48], dl
mov al, byte [edi + 5]
mov bl, al
test al, al
je 0x43b0ba
mov dword [ebp - 4], 0xcc
cmp dword [0x8b0104], 0
je 0x43b0ba
mov edx, dword [0x8b014c]
test edx, edx
je 0x43b0ba
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
movzx ecx, byte [edi + 4]
mov eax, dword [edx]
mov edx, dword [edi + 0xa]
push ebx
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [edi + 5], al
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
cmp byte [0x8b00f5], 0
mov al, byte [ebp - 0x48]
mov byte [ebp - 0x26], al
mov byte [ebp - 0x40], 1
jne 0x43b0d2
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x48]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov bl, cl
test cl, cl
jne 0x43b19b
mov dword [ebp - 4], 0xcd
cmp dword [0x8b0104], 0
je 0x43b2df
mov edx, dword [0x8b014c]
test edx, edx
je 0x43b2df
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edx]
mov edx, dword [esi + 0xa]
push ebx
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
test dl, dl
je 0x43b2df
mov bl, byte [ebp - 0x48]
xor edx, edx
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor al, byte [ecx*4 + 0x8b0150]
xor bl, al
cmp edx, 4
jb 0x43b1a0
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0190]
xor al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor bl, al
cmp edx, 8
jb 0x43b1d0
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b0108]
xor al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor bl, al
cmp edx, 0xc
jb 0x43b200
mov byte [ebp - 0x48], bl
mov al, byte [esi + 5]
mov byte [ebp - 0x6c], al
test al, al
je 0x43b2e2
mov dword [ebp - 4], 0xce
cmp dword [0x8b0104], 0
je 0x43b2e2
mov edx, dword [0x8b014c]
test edx, edx
je 0x43b2e2
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edx]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push dword [ebp - 0x6c]
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x48]
cmp byte [0x8b00f6], 0
mov edi, dword [0x8b05f8]
mov esi, dword [0x8af518]
jne 0x43b32a
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43b302
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [0x8b06b4]
cmp eax, dword [ecx + 4]
jle 0x43b3a6
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43b397
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x48]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43b3f7
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43b3e8
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x48]
mov edx, edi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], ecx
mov eax, edx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
shr eax, 0x10
xor ecx, 0x1000000
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, edi
mov ecx, dword [ebp - 0x24]
xor eax, edx
btc eax, 8
mov byte [ebp - 0x25], 0
shr eax, 0x18
xor ecx, 0x10000
mov dword [ebp - 0x24], ecx
shr ecx, 0x18
xor al, cl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
mov edx, dword [ebp - 0x24]
imul ecx, eax, 0xff
xor edx, 0x100
movzx eax, bl
imul eax, eax, 0xffffff80
mov byte [0x8b0650], 0
mov byte [ebp - 0x40], 0
sub eax, ecx
mov ecx, dword [ebp - 0x64]
add eax, dword [0x8b0600]
xor eax, edx
xor eax, dword [0x8b06b0]
mov dword [ebp - 0x44], eax
mov al, byte [ebp - 0x26]
cmp byte [ebp + ecx - 0x18], al
mov dword [0x8b06b0], 0
sete byte [ebp - 0x26]
cmp byte [0x8b00f4], 0
jne 0x43b4fd
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
cmp byte [0x8b00f6], 0
jne 0x43b539
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43b511
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ebx, dword fs:[0x2c]
mov eax, dword [0x8b061c]
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x24], al
mov ecx, dword [ebx]
mov esi, dword [ebp - 0x24]
xor esi, dword [0x8b05d4]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], esi
cmp eax, dword [ecx + 4]
jle 0x43b595
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43b58f
push 0x8b06b4
mov dword [0x8b06b0], esi
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov ecx, dword [ebx]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43b5d7
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43b5d1
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov edx, edi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov eax, edx
mov dword [ebp - 0x24], ecx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
xor ecx, 0x1000000
shr eax, 0x10
mov dword [ebp - 0x24], ecx
btc edx, 8
shr ecx, 0x10
xor cl, al
shr edx, 0x18
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov dword [0x8b0674], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov byte [ebp - 0x25], 0
mov edx, dword [0x8b0600]
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
mov ecx, dword [ebp - 0x24]
imul eax, eax, 0xff
xor ecx, 0x100
mov dword [ebp - 0x2c], 0
mov byte [0x8b0650], 0
sub edx, eax
xor edx, ecx
xor edx, dword [0x8b06b0]
cmp byte [0x8b00f7], 0
mov dword [ebp - 0x24], edx
mov dword [0x8b06b0], 0
mov dword [ebp - 0x5c], edx
mov byte [ebp - 0x60], 0
jne 0x43b6d9
cmp byte [0x8b00f4], 0
jne 0x43b6d9
mov dword [0x8b00f0], 0x419900
mov byte [0x8b00f4], 1
mov byte [0x8b00f7], 1
cmp byte [0x8b00f5], 0
mov al, byte [ebp - 0x26]
mov byte [ebp - 0x60], al
mov byte [ebp - 0x58], 1
jne 0x43b6f1
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x60]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov bl, cl
test cl, cl
jne 0x43b7ba
mov dword [ebp - 4], 0xcf
cmp dword [0x8b0104], 0
je 0x43b8ff
mov edx, dword [0x8b014c]
test edx, edx
je 0x43b8ff
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edx]
mov edx, dword [esi + 0xa]
push ebx
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], bl
mov dl, al
mov byte [0x8b00d8], dl
sete cl
mov dword [ebp - 0x24], 0
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
test dl, dl
je 0x43b8ff
mov bl, byte [ebp - 0x60]
xor edx, edx
nop
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor al, byte [ecx*4 + 0x8b0150]
xor bl, al
cmp edx, 4
jb 0x43b7c0
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor al, byte [ecx*4 + 0x8b0190]
xor bl, al
cmp edx, 8
jb 0x43b7f0
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor bl, al
cmp edx, 0xc
jb 0x43b820
mov byte [ebp - 0x60], bl
mov al, byte [esi + 5]
mov byte [ebp - 0x68], al
test al, al
je 0x43b902
mov dword [ebp - 4], 0xd0
cmp dword [0x8b0104], 0
je 0x43b902
mov edx, dword [0x8b014c]
test edx, edx
je 0x43b902
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov eax, dword [edx]
movzx ecx, byte [esi + 4]
mov dl, byte [0x8af528]
push dword [ebp - 0x68]
mov ecx, dword [eax + ecx*4]
mov al, dl
mov dword [ebp - 0x24], ecx
xor al, cl
xor byte [ebp - 0x23], dl
xor byte [ebp - 0x22], dl
xor byte [ebp - 0x21], dl
mov edx, dword [esi + 0xa]
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x60]
cmp byte [0x8b00f6], 0
mov edi, dword [0x8b05f8]
mov esi, dword [0x8af518]
jne 0x43b94a
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43b922
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax]
mov eax, dword [0x8b06b4]
cmp eax, dword [ecx + 4]
jle 0x43b9c6
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43b9b7
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x60]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43ba17
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43ba08
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8af518]
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x60]
mov edx, edi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], ecx
mov eax, edx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor cl, al
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], cl
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
mov edx, dword [ebp - 0x24]
imul ecx, eax, 0xff
xor edx, 0x100
movzx eax, bl
imul eax, eax, 0xffffff80
mov byte [0x8b0650], 0
mov byte [ebp - 0x58], 0
sub eax, ecx
add eax, dword [0x8b0600]
xor eax, edx
xor eax, dword [0x8b06b0]
mov dword [0x8b06b0], 0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 0xd1
cmp byte [0x8b00f6], 0
jne 0x43bb38
mov edx, dword [0x8b061c]
mov ecx, 0x8b01d8
nop dword [eax]
mov eax, esi
sub esi, 0xffff
not eax
xor eax, edx
xor eax, edi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43bb10
mov dword [0x8af518], esi
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
mov esi, dword fs:[0x2c]
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [esi]
cmp eax, dword [ecx + 4]
jle 0x43bbaf
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43bba6
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x60]
mov ecx, dword [esi]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43bbf4
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43bbeb
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov edi, dword [0x8b05f8]
mov bl, byte [ebp - 0x60]
mov edx, edi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, edi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], ecx
mov eax, edx
shr eax, 8
xor edx, edi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, edi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
imul ecx, eax, 0xff
movzx eax, bl
imul eax, eax, 0xffffff80
mov byte [0x8b0650], 0
sub eax, ecx
add eax, dword [0x8b0600]
xor eax, dword [ebp - 0x24]
xor eax, dword [0x8b06b0]
xor eax, 0x100
mov dword [0x8b06b0], 0
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x5c]
je 0x43bce6
mov esi, dword [0x8b00f0]
sub esp, 0x28
mov ecx, esp
push eax
push dword [ebp - 0x5c]
call fcn.00419830
lea ecx, [ebp - 0x60]
call esi
mov al, byte [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
cmp byte [0x8b00f5], 0
mov byte [ebp - 0x58], 1
jne 0x43bd02
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x60]
call fcn.00419560
mov edi, eax
mov cl, byte [edi + 5]
mov dl, cl
test cl, cl
jne 0x43bdde
mov dword [ebp - 4], 0xd2
cmp dword [0x8b0104], 0
mov ebx, dword [0x8b014c]
je 0x43bdcc
test ebx, ebx
je 0x43bdcc
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
movzx ecx, byte [edi + 4]
mov eax, dword [ebx]
push edx
mov edx, dword [edi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], 0
mov dl, al
mov ebx, dword [0x8b014c]
sete cl
mov byte [0x8b00d8], dl
mov byte [edi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [edi], cl
movzx ecx, byte [0x8af528]
xor byte [edi + 1], cl
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
mov dword [ebp - 0x24], 0
jmp 0x43bdce
xor dl, dl
mov dword [ebp - 4], 0xffffffff
test dl, dl
jne 0x43bde4
jmp 0x43bf2b
mov ebx, dword [0x8b014c]
mov dl, byte [ebp - 0x60]
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b0148]
inc esi
mov al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor al, byte [ecx*4 + 0x8b0150]
xor dl, al
cmp esi, 4
jb 0x43bdf0
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b01d0]
inc esi
mov al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor al, byte [ecx*4 + 0x8b0190]
xor dl, al
cmp esi, 8
jb 0x43be20
xor esi, esi
nop dword [eax]
movzx ecx, byte [esi + 0x8b00f8]
inc esi
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor dl, al
cmp esi, 0xc
jb 0x43be50
mov byte [ebp - 0x60], dl
mov al, byte [edi + 5]
mov dl, al
test al, al
je 0x43bf2b
mov dword [ebp - 4], 0xd3
cmp dword [0x8b0104], 0
je 0x43bf24
test ebx, ebx
je 0x43bf24
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
movzx ecx, byte [edi + 4]
mov eax, dword [ebx]
push edx
mov edx, dword [edi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [edi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [edi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [edi + 5], al
mov al, byte [0x8af528]
xor byte [edi], al
mov al, byte [0x8af528]
xor byte [edi + 1], al
mov al, byte [0x8af528]
xor byte [edi + 2], al
mov al, byte [0x8af528]
xor byte [edi + 3], al
mov dword [ebp - 4], 0xffffffff
cmp byte [0x8b00f5], 0
mov bh, byte [ebp - 0x60]
mov byte [ebp - 0x58], 1
jne 0x43bf40
call fcn.00418e60
mov edx, 1
lea ecx, [ebp - 0x60]
call fcn.00419560
mov esi, eax
mov cl, byte [esi + 5]
mov dl, cl
test cl, cl
jne 0x43c01f
mov dword [ebp - 4], 0xd4
cmp dword [0x8b0104], 0
mov edi, dword [0x8b014c]
je 0x43c00a
test edi, edi
je 0x43c00a
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edi]
push edx
mov edx, dword [esi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov dl, al
mov edi, dword [0x8b014c]
sete cl
mov byte [0x8b00d8], dl
mov byte [esi + 5], cl
movzx ecx, byte [0x8af528]
xor byte [esi], cl
movzx ecx, byte [0x8af528]
xor byte [esi + 1], cl
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov dword [ebp - 0x24], 0
jmp 0x43c00c
xor dl, dl
mov dword [ebp - 4], 0xffffffff
test dl, dl
jne 0x43c025
mov bl, byte [ebp - 0x60]
jmp 0x43c16e
mov edi, dword [0x8b014c]
mov bl, byte [ebp - 0x60]
xor edx, edx
nop word [eax + eax]
movzx ecx, byte [edx + 0x8b0148]
inc edx
mov al, byte [ecx*4 + 0x8b0153]
xor al, byte [ecx*4 + 0x8b0152]
xor al, byte [ecx*4 + 0x8b0151]
xor al, byte [ecx*4 + 0x8b0150]
xor bl, al
cmp edx, 4
jb 0x43c030
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b01d0]
inc edx
mov al, byte [ecx*4 + 0x8b0193]
xor al, byte [ecx*4 + 0x8b0192]
xor al, byte [ecx*4 + 0x8b0191]
xor al, byte [ecx*4 + 0x8b0190]
xor bl, al
cmp edx, 8
jb 0x43c060
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + 0x8b00f8]
inc edx
mov al, byte [ecx*4 + 0x8b010b]
xor al, byte [ecx*4 + 0x8b010a]
xor al, byte [ecx*4 + 0x8b0109]
xor al, byte [ecx*4 + 0x8b0108]
xor bl, al
cmp edx, 0xc
jb 0x43c090
mov byte [ebp - 0x60], bl
mov al, byte [esi + 5]
mov dl, al
test al, al
je 0x43c16e
mov dword [ebp - 4], 0xd5
cmp dword [0x8b0104], 0
je 0x43c167
test edi, edi
je 0x43c167
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
movzx ecx, byte [esi + 4]
mov eax, dword [edi]
push edx
mov edx, dword [esi + 0xa]
mov eax, dword [eax + ecx*4]
mov cl, byte [0x8af528]
mov dword [ebp - 0x24], eax
xor al, cl
xor byte [ebp - 0x23], cl
xor byte [ebp - 0x22], cl
xor byte [ebp - 0x21], cl
mov ecx, dword [esi]
mov byte [ebp - 0x24], al
call dword [ebp - 0x24]
cmp byte [esi + 5], 0
mov byte [0x8b00d8], al
sete al
mov dword [ebp - 0x24], 0
mov byte [esi + 5], al
mov al, byte [0x8af528]
xor byte [esi], al
mov al, byte [0x8af528]
xor byte [esi + 1], al
mov al, byte [0x8af528]
xor byte [esi + 2], al
mov al, byte [0x8af528]
xor byte [esi + 3], al
mov bl, byte [ebp - 0x60]
mov dword [ebp - 4], 0xffffffff
cmp byte [0x8b00f6], 0
mov esi, dword [0x8b05f8]
jne 0x43c1b8
mov edx, dword [0x8af518]
mov ecx, 0x8b01d8
mov edi, dword [0x8b061c]
nop
mov eax, edx
sub edx, 0xffff
not eax
xor eax, edi
xor eax, esi
mov dword [ecx], eax
add ecx, 4
cmp ecx, 0x8b05d8
jl 0x43c190
mov dword [0x8af518], edx
mov byte [0x8b00f6], 1
mov ecx, dword [0x8b061c]
mov al, bl
mov edi, dword fs:[0x2c]
xor al, cl
mov dword [ebp - 0x24], ecx
xor byte [ebp - 0x23], bl
xor byte [ebp - 0x22], bl
xor byte [ebp - 0x21], bl
mov byte [ebp - 0x24], al
mov al, bl
mov ecx, dword [ebp - 0x24]
not al
movzx eax, al
xor ecx, dword [eax*4 + 0x8b01d8]
mov eax, dword [0x8b06b4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [edi]
cmp eax, dword [ecx + 4]
jle 0x43c22f
push 0x8b06b4
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b06b4], 0xffffffff
jne 0x43c226
mov eax, dword [ebp - 0x24]
push 0x8b06b4
mov dword [0x8b06b0], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8b05f8]
mov bl, byte [ebp - 0x60]
mov ecx, dword [edi]
mov eax, dword [0x8b0658]
cmp eax, dword [ecx + 4]
jle 0x43c274
push 0x8b0658
call fcn.0055e7c3
add esp, 4
cmp dword [0x8b0658], 0xffffffff
jne 0x43c26b
mov eax, dword [0x8b05f8]
push 0x8b0658
mov dword [0x8b0674], eax
call fcn.0055e772
add esp, 4
mov esi, dword [0x8b05f8]
mov bl, byte [ebp - 0x60]
mov edx, esi
mov dword [ebp - 0x2c], 1
xor edx, dword [0x8b0674]
btc edx, 0
mov dword [ebp - 0x2c], 1
xor byte [ebp - 0x24], dl
xor edx, esi
mov ecx, dword [ebp - 0x24]
btc edx, 0
xor ecx, 0x1000000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], ecx
mov eax, edx
shr eax, 8
xor edx, esi
shr ecx, 8
btc edx, 8
xor al, cl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x23], al
mov eax, edx
mov ecx, dword [ebp - 0x24]
xor edx, esi
shr eax, 0x10
btc edx, 8
xor ecx, 0x1000000
shr edx, 0x18
mov dword [ebp - 0x24], ecx
shr ecx, 0x10
xor cl, al
mov dword [0x8b0674], 0
mov byte [ebp - 0x22], cl
mov eax, dword [ebp - 0x24]
xor eax, 0x10000
mov byte [ebp - 0x25], 0
mov dword [ebp - 0x24], eax
shr eax, 0x18
xor al, dl
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x21], al
movzx eax, byte [0x8b05fc]
mov edx, dword [ebp - 0x24]
imul ecx, eax, 0xff
xor edx, 0x100
movzx eax, bl
imul eax, eax, 0xffffff80
mov byte [0x8b0650], 0
mov byte [ebp - 0x58], 1
sub eax, ecx
lea ecx, [ebp - 0x60]
add eax, dword [0x8b0600]
xor eax, edx
xor eax, dword [0x8b06b0]
test bh, bh
mov dword [0x8b06b0], 0
mov dword [ebp - 0x5c], eax
setne bl
call fcn.00419380
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov byte [ebp - 0x58], 0
mov byte [ebp - 0x40], 1
call fcn.00419380
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x40], 0
inc eax
mov dword [ebp - 0x64], eax
cmp eax, 1
jb 0x43a670
test bl, bl
je 0x43c3a1
call fcn.0041af50
jmp 0x43c3a6
call fcn.0041b390
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055e764
mov esp, ebp
pop ebp
ret 0x14