Function at 0x43a830
Capabilities:
Encode data using xor

Disassembly:
push ss
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], bl
inc eax
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x430ae0
mov byte [eax], 0
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx]
test dl, dl
je 0x430b0b
lea edi, [ecx + 1]
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x430b00
mov byte [eax], 0
mov ecx, dword [esi + 0x34]
movzx edx, byte [ecx]
test dl, dl
je 0x430b2b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x430b20
mov byte [eax], 0
movzx ecx, byte [esi + 0x10]
test cl, cl
je 0x430b4b
lea edx, [esi + 0x11]
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x430b40
mov byte [eax], 0
push 0
call fcn.004438b0
add esp, 4
push eax
sub esp, 0x10
mov dword [esi + 0x110], esp
sub esp, 0x14
mov dword [esi + 0x114], esp
sub esp, 0xc
mov dword [esi + 0x34], esp
sub esp, 0xc
mov dword [esi + 0x48], esp
sub esp, 0x10
mov dword [esi + 0x12c], esp
sub esp, 0x10
mov dword [esi + 0x118], esp
sub esp, 0xc
mov dword [esi + 0x40], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x120], eax
xchg byte [eax], ah
add dword [eax], eax
add byte [ecx - 0x137caf3c], cl
or byte [ecx + 0x11ca6], cl
add byte [ebx - 0x5976f714], al
test byte [eax], al
add byte [eax], al
sub esp, 0x14
mov dword [esi + 0x68], esp
sub esp, 0x10
mov dword [esi + 0xc0], esp
sub esp, 0x14
mov dword [esi + 0x124], esp
sub esp, 0x30
mov dword [esi + 0x90], esp
sub esp, 0x30
mov dword [esi + 0x128], esp
sub esp, 0x14
mov dword [esi + 0xcc], esp
sub esp, 0x2c
mov dword [esi + 0x94], esp
push eax
mov dword [esi + 0xc4], esp
sub esp, 0x18
mov dword [esi + 0x6c], esp
sub esp, 0x14
mov dword [esi + 0xc8], esp
sub esp, 0x10
mov dword [esi + 0xb8], esp
sub esp, 0x18
mov dword [esi + 0x98], esp
sub esp, 8
mov dword [esi + 0xbc], esp
sub esp, 0x348
mov dword [esi + 0x30], esp
sub esp, 0xdc
mov ebx, esp
sub esp, 0xc
mov dword [esi + 0x108], esp
sub esp, 0xc
mov dword [esi + 0x10c], esp
sub esp, 0x1c
mov dword [esi + 0x64], esp
sub esp, 0x10
mov edi, esp
push 0x1000
call fcn.0040d6d0
add esp, 4
mov dword [esi + 0x70], eax
mov dword [esi + 0x10], 0xbf6e9476
mov dword [esi + 0x14], 0x8ddad9ad
mov word [esi + 0x18], 0x4160
mov dword [esi + 0x1a], 0
mov word [esi + 0x1e], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0xf
ja 0x430cd0
nop
nop
nop
mov ecx, dword [esi + 8]
mov eax, dword [esi + 8]
movzx eax, byte [esi + eax + 0x10]
mov edx, ecx
xor edx, 0xfcd27092
and ecx, 0xfcd27092
lea ecx, [edx + ecx*2]
lea edx, [ecx + eax]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edx + eax*2]
mov dword [esi], eax
mov eax, dword [esi]
add al, 0x26
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x10], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x10
jb 0x430c90
mov dword [esi + 0x104], ebx
mov dword [esi + 0x80], edi
mov eax, dword [0x4486d4]
mov ebx, dword [esi + 0xc]
mov dword [ebx], 0x28764c6e
mov dword [ebx + 4], 0xa080707
mov dword [ebx + 8], 0x2e001c0b
mov dword [ebx + 0xc], 0x19191400
mov word [ebx + 0x10], 0x694e
mov byte [ebx + 0x12], 0x86
mov dword [ebx + 0x13], 0
mov dword [esi + 8], 0
mov ecx, dword [esi + 8]
cmp ecx, 0x16
ja 0x430d5f
nop
mov edx, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [ebx + ecx]
mov edi, edx
xor edi, 0xc080bee6
and edx, 0xc080bee6
lea edx, [edi + edx*2]
lea edi, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [edi + ecx*2]
mov dword [esi], ecx
mov ecx, dword [esi]
add cl, 0x82
mov edx, dword [esi + 8]
mov byte [ebx + edx], cl
inc dword [esi + 8]
mov ecx, dword [esi + 8]
cmp ecx, 0x17
jb 0x430d20
mov ecx, dword [0x4486d0]
mov ebx, dword [esi + 4]
mov dword [ebx], 0xead8b9bf
mov dword [ebx + 4], 0xd0d0bde5
inc ebx
add al, 0xe5
mov ebp, 0x43c7d0d0
or bl, bl
lahf
xchg bl, dh
inc ebx
add al, 0xe5
mov ebp, 0x43c7d0d0
or bl, bl
lahf
xchg bl, dh
mov dword [ebx + 0xc], 0xc7ea85ef
mov dword [ebx + 0x10], 0xcec3c4dd
mov dword [ebx + 0x14], 0xc0c9dede
mov dword [ebx + 0x18], 0x90b8dec6
mov dword [ebx + 0x1c], 0xc2cff394
mov dword [ebx + 0x20], 0xd3dbee92
mov dword [ebx + 0x24], 0xb0ae9dd0
mov dword [ebx + 0x28], 0xe7f8b6ab
mov dword [ebx + 0x2c], 0xa6bfa984
mov dword [ebx + 0x30], 0xaea3a8a5
mov dword [ebx + 0x34], 0xa7b7a2ba
mov dword [ebx + 0x38], 0xd9a2a2b6
cmp byte [esi - 0x38265d5e], dh
inc ebx
cmp al, 0xf9
cmc
xchg esi, eax
scasb al, byte es:[edi]
mov dword [ebx + 0x40], 0x98bfb4b5
mov dword [ebx + 0x44], 0x96a4fdea
mov dword [ebx + 0x48], 0xd9828d89
mov dword [ebx + 0x4c], 0x9b8fb2c4
mov dl, 0x8f
wait
mov dl, 0x8f
wait
mov dword [ebx + 0x50], 0xcfd5d8c8
mov dword [ebx + 0x54], 0xc7c4ddda
mov dword [ebx + 0x58], 0xbbd6dcfe
mov dword [ebx + 0x5c], 0xdbc4b1bd
mov byte [ebx + 0x60], 0xf8
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x61], 0
mov dword [esi + 8], 0
mov edx, dword [esi + 8]
cmp edx, 0x67
ja 0x430e79
mov edx, dword [esi + 8]
mov edi, dword [esi + 8]
movzx edi, byte [ebx + edi]
mov ebx, edx
xor ebx, 0xa554611a
and edx, 0x2554611a
lea edx, [ebx + edx*2]
lea ebx, [edx + edi]
and edx, edi
mov edi, ebx
xor edi, edx
add edi, edx
not edx
and edx, ebx
mov ebx, dword [esi + 4]
add edx, edx
sub edx, edi
mov dword [esi], edx
mov edx, dword [esi]
add dl, 0x7e
mov edi, dword [esi + 8]
mov byte [ebx + edi], dl
inc dword [esi + 8]
mov edx, dword [esi + 8]
cmp edx, 0x68
invalid
jb 0x430e30
push 0xb60fb772
adc ecx, dword [ebx - 0x2d7b8fa2]
movzx edx, byte [ebx]
mov ebx, dword [esi + 0x70]
test dl, dl
je 0x430e9b
mov edi, dword [esi + 4]
inc edi
mov ebx, dword [esi + 0x70]
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x430e90
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
je 0x430ebb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x430eb0
cmc
mov byte [ebx], 0
mov edx, dword [esi + 0xc]
movzx ecx, byte [edx]
test cl, cl
je 0x430edb
inc edx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x430ed0
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x430efb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x430ef0
mov byte [ebx], 0
movzx eax, byte [esi + 0x10]
test al, al
je 0x430f1b
lea ecx, [esi + 0x11]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x430f10
mov byte [ebx], 0
push 0
call fcn.004438b0
add esp, 4
jmp dword [0x44c190]
nop
nop
nop
nop
nop
nop
add eax, edi
movzx esi, word [ecx + 2]
add ecx, 2
test si, si
je 0x430f8a
test edx, edx
je 0x430f66
cmp ecx, edx
jae 0x430f8a
movzx ebx, si
cmp ebx, 0x800
or byte [eax], al
add byte [esi + 3], bh
sbb esi, 0
mov edi, 1
cmp ebx, 0x80
jb 0x430f50
mov edi, esi
jmp 0x430f50
xor eax, eax
pop esi
pop edi
pop ebx
ret
add byte [eax], al
add bh, al
xchg ah, bh
add dword [eax], eax
add byte [ebx + eax*8 + 0x44], ah
add bh, al
xchg ah, dh
add dword [eax], eax
add byte [ebx + eax*8 + 0x44], ch
add bh, al
xchg ah, ch
add dword [eax], eax
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg al, ch
add dword [eax], eax
add byte [eax], bh
add byte [eax], al
mov dword [esi + 0x1e4], 0x44c374
mov dword [esi + 0x1dc], 0x44c37c
fadd qword [ecx]
add byte [eax], al
jl 0x431192
inc esp
add bh, al
xchg ah, dl
add dword [eax], eax
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg al, dl
add dword [eax], eax
add byte [ebx], bh
add byte [eax], al
fadd qword [ecx]
add byte [eax], al
jl 0x431192
inc esp
add bh, al
xchg ah, dl
add dword [eax], eax
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg al, dl
add dword [eax], eax
add byte [ebx], bh
add byte [eax], al
mov dword [esi + 0x1cc], 0x44c384
mov dword [esi + 0x1c4], 0x44c38c
mov dword [esi + case.0x42cd0c.20], 0x44bb50
xchg byte [ecx + eax - 0x44b00000], bh
inc esp
add bh, al
xchg byte [eax + 0x7e000001], bh
add byte [eax], al
add bh, al
xchg byte [ecx + eax - 0x44b00000], dh
inc esp
add bh, al
xchg byte [eax + 0x7f000001], dh
add byte [eax], al
add bh, al
xchg byte [ecx + eax - 0x44b00000], ch
mov ebx, 0x86c70044
test al, 1
add byte [eax], al
add byte [eax], 0
add bh, al
xchg byte [ecx + eax - 0x44b00000], ah
inc esp
add bh, al
xchg byte [eax - 0x7effffff], ah
add byte [eax], al
add bh, al
xchg byte [ecx + eax - 0x44b00000], bl
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg byte [eax - 0x7dffffff], bl
add byte [eax], al
add bh, al
xchg byte [ecx + eax - 0x3c6c0000], dl
xchg esp, eax
add dword [eax], eax
add byte [ebx + eax*8 - 0x7938ffbc], dl
mov word [ecx], es
add byte [eax], al
pushfd
ret
inc esp
add bh, al
xchg byte [ecx + eax - 0x44b00000], al
inc esp
add bh, al
xchg byte [eax - 0x7affffff], al
add byte [eax], al
add bh, al
xchg byte [ecx + eax], bh
add byte [ebx + eax*8 - 0x7938ffbc], ah
je 0x431294
add byte [eax], al
lodsb al, byte [esi]
ret
inc esp
add bh, al
xchg byte [ecx + eax], ch
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg byte [eax + 1], ch
add byte [eax], al
push ebx
add byte [eax], al
add bh, al
xchg byte [ecx + eax], ah
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg byte [eax + 1], ah
add byte [eax], al
push edi
add byte [eax], al
add bh, al
xchg byte [ecx + eax], bl
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg byte [eax + 1], bl
add byte [eax], al
pop esp
add byte [eax], al
add bh, al
xchg byte [ecx + eax], dl
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg byte [eax + 1], dl
add byte [eax], al
pop edi
add byte [eax], al
add bh, al
xchg byte [ecx + eax], cl
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg byte [eax + 1], cl
add byte [eax], al
add byte fs:[eax], al
add bh, al
xchg byte [ecx + eax], al
add byte [eax - 0x45], dl
inc esp
add bh, al
xchg byte [eax + 1], al
add byte [eax], al
insb byte es:[edi], dx
add byte [eax], al
add bh, al
xchg byte [ecx + eax], bh
add byte [eax], al
push eax
mov ebx, 0x86c70044
cmp byte [ecx], al
add byte [eax], al
jbe 0x431323
add byte [eax], al
mov dword [esi + case.0x42cd0c.20], 0x44bb50
mov dword [esi + 0x130], 0x79
mov dword [esi + case.0x42cd0c.20], 0x44bb50
mov dword [esi + 0x128], 0x7c
mov dword [esi + case.0x42cd0c.20], 0x44bb50
mov dword [esi + 0x120], 0x83
mov dword [esi + case.0x42cd0c.20], 0x44bb50
mov dword [esi + 0x118], 0x86
jmp eax
xchg ebp, eax
mov bh, 0x86
rol byte [edx], 0
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x2c486], cl
add byte [ebx + 0x2c08e], cl
add byte [ebx - 0x1f0077fc], cl
add byte [edi - 0x39], 0x45
add eax, 0x8b222512
xchg byte [eax + 1], dl
add byte [eax], al
mov ecx, dword [esi + 0x154]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [ecx]
test ecx, ecx
setne cl
and al, cl
mov dword [esi + 0x2a8], 0
mov ecx, dword [esi + 0x2ac]
mov edx, dword [esi + 0x2a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
cmp al, 0x7b
inc esp
add byte [ebx - 0x7974fb14], al
cwde
add byte [eax], al
add byte [ecx + 0x15ff2404], cl
mov dword [esp], eax
invalid
invalid
inc eax
jnp 0x4317f9
add byte [ebx + 0x388b0446], cl
mov eax, dword [esi + 0x100]
mov al, byte [eax]
mov byte [esi + 0x74], al
mov edx, dword [esi + 0x94]
mov byte [edx], 0x73
mov byte [edx + 1], 0x31
mov byte [edx + 2], 0xbf
mov byte [edx + 3], 0x33
mov byte [edx + 4], 0xbe
inc edx
add al, 0xbe
mov byte [edx + 5], 0x2d
mov byte [edx + 6], 0xbc
mov byte [edx + 7], 0x2f
mov byte [edx + 8], 0xb5
mov byte [edx + 9], 0x29
mov byte [edx + 0xa], 0xbc
mov byte [edx + 0xb], 0x2b
or ebp, dword [ebx]
mov byte [edx + 0xc], 0xa8
mov byte [edx + 0xd], 0x25
mov byte [edx + 0xe], 0x8a
mov byte [edx + 0xf], 0x27
mov byte [edx + 0x10], 0xb9
mov byte [edx + 0x11], 0x21
and esi, eax
inc edx
adc dh, byte [edi + 0x231342c6]
mov byte [edx + 0x14], 0x81
mov byte [edx + 0x15], 0x1d
mov byte [edx + 0x16], 0xb4
mov byte [edx + 0x17], 0x1f
mov byte [edx + 0x18], 0x8f
mov byte [edx + 0x19], 0x19
mov byte [edx + 0x1a], 0x8c
mov byte [edx + 0x1b], 0x1b
mov byte [edx + 0x1c], 0x89
mov byte [edx + 0x1d], 0x15
mov byte [edx + 0x1e], 0x16
mov byte [edx + 0x1f], 0x17
mov eax, 0x20
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x22
jne 0x431850
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x22
jae 0x43189c
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437b30
mov edx, dword [esi + 0x94]
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x24]
inc eax
mov dword [esi + 0x24], eax
jmp 0x431863
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x98]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov edi, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [edi]
sub cx, 2
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x230], eax
mov eax, dword [esi + 0x234]
mov ecx, dword [esi + 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
push eax
push eax
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x10
push eax
sub esp, 8
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x1c
in al, dx
sbb al, 0x50
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x20
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x18
push eax
mov ecx, dword [0x7ffe026c]
mov edx, dword [ebp + 8]
mov dword [edx], ecx
mov ecx, dword [0x7ffe0270]
mov dword [edx + 4], ecx
mov ecx, dword [0x7ffe0260]
mov dword [edx + 8], ecx
mov ecx, dword [0x7ffe0264]
sub ecx, 2
sete byte [edx + 0xc]
mov dword [edx + 0x10], 0
mov byte [edx + 0x14], 0
mov word [edx + 0x28], 0
mov byte [edx + 0x2a], 0
mov dword [eax], 0
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x447070
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x447080
mov eax, dword [0x447b18]
call eax
mov eax, dword [esi + 0x168]
mov ecx, dword [esi + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
add esi, dword [ebx - 0x3a]
inc edx
add al, 0xfc
mov byte [edx + 5], 0x6d
mov byte [edx + 6], 0xe2
mov byte [edx + 7], 0x6f
mov byte [edx + 8], 0xf1
mov byte [edx + 9], 0x69
mov byte [edx + 0xa], 0xfd
mov byte [edx + 0xb], 0x6b
mov byte [edx + 0xc], 0xf2
mov byte [edx + 0xd], 0x65
inc edx
or eax, 0xe42c665
mov byte [edx + 0xf], 0x67
inc edx
or eax, 0xe42c665
mov byte [edx + 0xf], 0x67
mov eax, 0x10
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x11
jne 0x431d01
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x11
jae 0x431d4d
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437a70
mov edx, dword [esi + 0x8c]
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x431d14
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x38]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov edi, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [edi]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x298], eax
mov eax, dword [esi + 0x29c]
mov ecx, dword [esi + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
inc esp
and al, 0x10
add eax, dword [eax]
add byte [eax], al
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [0x447b24]
inc esp
add bh, bh
sal byte [ecx], 1
leave
test eax, eax
setns al
mov dword [esi + 0x2e8], 1
mov edx, dword [esi + 0x2ec]
mov edi, dword [esi + 0x2e8]
mov edx, dword [edx + edi*4]
adc al, 0xba
adc al, 0xba
mov edi, dword [esi + 0x58]
jmp edx
fcmovnb st(0), st(6)
inc edx
or al, 0x7d
mov byte [edx + 0xd], 0xdd
mov byte [edx + 0xe], 0x4a
mov byte [edx + 0xf], 0xdf
mov byte [edx + 0x10], 0x75
mov byte [edx + 0x11], 0xd1
mov byte [edx + 0x12], 0x66
mov byte [edx + 0x13], 0xd3
mov byte [edx + 0x14], 0x4d
mov byte [edx + 0x15], 0xd5
mov byte [edx + 0x16], 0x4b
mov byte [edx + 0x17], 0xd7
mov byte [edx + 0x18], 0x6d
mov byte [edx + 0x19], 0xc9
mov byte [edx + 0x1a], 0xca
mov byte [edx + 0x1b], 0xcb
mov eax, 0x1c
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x20
jne 0x4329a7
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x20
jae 0x4329f3
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [edx + ecx]
sub esp, 8
or byte [ecx - 0x76fbdbbc], cl
or al, 0x24
or byte [ecx - 0x76fbdbbc], cl
or al, 0x24
call fcn.00437ae0
mov edx, dword [esi + 0x90]
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x4329ba
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, edi
mov edi, dword [esi + 0x3c]
mov dword [esp + 0xc], edi
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
cdq
shl byte [esi - 0x75], 0xf
mov edx, dword [esi + 0x270]
mov edi, dword [esi + 0x274]
mov edx, dword [edi + edx*4]
jmp edx
add byte [eax], al
add byte [ebx - 0x1f76ef14], al
and eax, 0xfffffff8
mov dword [esi + 0x98], eax
mov esp, eax
push eax
sub esp, 0x20
mov dword [esi + 0x94], esp
push eax
mov dword [esi + 0x100], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x44], eax
mov esp, eax
push eax
sub esp, 0x18
mov dword [esi + 0x9c], esp
push eax
mov dword [esi + 0x108], esp
mov eax, dword [0x7ffe026c]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov eax, dword [0x7ffe0270]
mov dword [ecx + 4], eax
mov eax, dword [0x7ffe0260]
mov dword [ecx + 8], eax
mov eax, dword [0x7ffe0264]
sub eax, 2
sete byte [ecx + 0xc]
or al, 0x89
enter 0xffffffffffffc083, 0x10
mov dword [esi + 0x54], eax
mov dword [ecx + 0x10], 0
mov eax, ecx
add eax, 0x14
mov dword [esi + 0xfc], eax
mov byte [ecx + 0x14], 0
mov eax, ecx
add eax, 0x28
mov dword [esi + 0x104], eax
mov word [ecx + 0x28], 0
mov edi, ecx
add edi, 0x2a
mov byte [ecx + 0x2a], 0
mov dword [edx], 0
sub esp, 0x14
adc al, 0x89
xchg esi, eax
test al, 0
add byte [eax], al
adc al, 0x89
xchg esi, eax
test al, 0
add byte [eax], al
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0x447070
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x447080
mov eax, dword [0x447b18]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x308], 0
mov edx, dword [esi + 0x30c]
mov ebx, dword [esi + 0x308]
mov edx, dword [edx + ebx*4]
jmp edx
mov dword [esp + 0x244], 0x44c454
mov dword [esp + 0x23c], 0x44c45c
mov dword [esp + 0x234], 0x44c464
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x228], 0xb1
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x220], 0xb2
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x218], 0xb3
mov dword [esp + 0x214], 0x44c46c
mov dword [esp + 0x20c], 0x44c474
mov dword [esp + 0x204], 0x44c47c
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1f8], 0xb7
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1f0], 0xb8
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1e8], 0xb9
mov dword [esp + 0x1e4], 0x44c484
mov dword [esp + 0x1dc], 0x44c48c
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1d0], 0xbc
mov dword [esp + 0x1cc], 0x44c494
mov dword [esp + 0x1c4], 0x44c49c
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1b8], 0x97
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1b0], 0x9d
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1a8], 0xa0
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x1a0], 0xa3
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x198], 0xa7
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x190], 0xab
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x188], 0xae
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x180], 0xba
mov dword [esp + case.0x42cd0c.20], 0x44bb50
mov dword [esp + 0x178], 0xbe
xor edi, edi
jmp eax
test byte [eax], al
add byte [eax], al
outsd dx, dword [esi]
mov byte [esp + 0x85], 0xf
mov byte [esp + 0x86], 0x91
mov byte [esp + 0x87], 1
mov byte [esp + 0x88], 0x67
and al, 0x88
add byte [eax], al
add byte [edi - 0x3a], ah
test byte [ecx + ecx*4], ah
add byte [eax], al
add byte [ebx], al
mov byte [esp + 0x8a], 2
mov byte [esp + 0x8b], 5
mov eax, 0x18
mov byte [esp + eax + 0x74], 0
add eax, 1
cmp eax, 0x1c
jne 0x433478
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x60]
cmp eax, 0x1c
jae 0x4334c2
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
movzx ecx, byte [esp + ecx + 0x74]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437ca0
mov ecx, dword [esp + 0x60]
mov byte [esp + ecx + 0x74], al
mov eax, dword [esp + 0x60]
inc esp
and al, 0x60
inc eax
mov dword [esp + 0x60], eax
jmp 0x43348d
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x148]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x74]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x148]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
inc esp
and al, 0xc
add byte [eax], al
add byte [eax], al
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [0x447b24]
call eax
sub esp, 0x20
not eax
shr eax, 0x1f
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x308]
mov eax, dword [eax + ecx*4]
xor edi, edi
jmp eax
add byte [ebx + 0x1a4248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
add byte [ebx + 0x28c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
fadd dword [ecx]
add byte [eax], al
mov eax, dword [eax + ecx*4]
jmp eax
and al, 0xac
add byte [eax], al
add dh, al
test byte [esp + ecx], ah
add dword [eax], eax
add byte [edx], ah
mov byte [esp + 0x10d], 0x91
mov byte [esp + 0x10e], 0x25
mov byte [esp + 0x10f], 0x93
mov byte [esp + 0x110], 0x2b
mov byte [esp + 0x111], 0x9d
mov byte [esp + 0x112], 0x22
mov byte [esp + 0x113], 0x9f
mov byte [esp + 0x114], 0x3c
mov byte [esp + 0x115], 0x99
mov byte [esp + 0x116], 0x29
mov byte [esp + 0x117], 0x9b
mov byte [esp + 0x118], 0x29
mov byte [esp + 0x119], 0x85
mov byte [esp + 0x11a], 0x25
mov byte [esp + 0x11b], 0x87
mov byte [esp + 0x11c], 0x1d
mov byte [esp + 0x11d], 0x81
mov byte [esp + 0x11e], 0x10
mov byte [esp + 0x11f], 0x83
mov byte [esp + 0x120], 0x25
mov byte [esp + 0x121], 0x8d
mov byte [esp + 0x122], 0x12
mov byte [esp + 0x123], 0x8f
mov byte [esp + 0x124], 0x11
mov byte [esp + 0x125], 0x89
mov byte [esp + 0x126], 0xc9
mov byte [esp + 0x127], 0x8b
mov byte [esp + 0x128], 0x59
mov byte [esp + 0x129], 0xf5
mov byte [esp + 0x12a], 0x60
mov byte [esp + 0x12b], 0xf7
mov byte [esp + 0x12c], 0x6c
mov byte [esp + 0x12d], 0xf1
mov byte [esp + 0x12e], 0x5f
mov byte [esp + 0x12f], 0xf3
mov byte [esp + 0x130], 0x6e
mov byte [esp + 0x131], 0xfd
mov byte [esp + 0x132], 0xac
mov byte [esp + 0x133], 0xff
mov byte [esp + 0x134], 0xf8
mov byte [esp + 0x135], 0xf9
mov eax, 0x2a
mov byte [esp + eax + 0x10c], 0
add eax, 1
cmp eax, 0x2e
jne 0x4338fd
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0x2e
jae 0x433950
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
movzx ecx, byte [esp + ecx + 0x10c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00437bb0
mov ecx, dword [esp + 0x4c]
mov byte [esp + ecx + 0x10c], al
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x433915
lea eax, [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [0x447b30]
call eax
sub esp, 4
mov esi, eax
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0xa4]
mov dword [esp + 0x20], edx
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x24
not eax
shr eax, 0x1f
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x310]
mov eax, dword [eax + ecx*4]
xor edi, edi
jmp eax
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, esp
mov eax, dword [ebp + 8]
mov dword [esi + 0x40], eax
push eax
sub esp, 0xc
mov dword [esi + 8], esp
push eax
mov dword [esi + 0x30], esp
sub esp, 0x1c
mov edi, esp
push eax
mov eax, esp
sub esp, 0xc
mov edx, esp
sub esp, 0x38
mov ecx, esp
mov dword [esi + 0x28], edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x24], eax
push eax
mov dword [esi + 0x3c], esp
push eax
mov dword [esi + 0x2c], esp
push eax
mov dword [esi + 4], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
sub esp, 0x1c
mov ebx, esp
push eax
mov dword [esi + 0x64], esp
mov eax, dword [0x44f8a8]
mov dword [esi + 0x18], eax
mov dword [esi + 0x44], 0x71ab7f9b
mov dword [esi + 0x48], 0x75c773fb
mov dword [esi + 0x4c], 0x49d177c0
mov dword [esi + 0x50], 0x4d8e4bf7
mov dword [esi + 0x54], 0x41f54ffe
mov dword [esi + 0x58], 0x45e543f6
mov dword [esi + 0x5c], 0x594647a3
mov word [esi + 0x60], 0
mov byte [esi + 0x62], 0
mov dword [esi], 0
mov ecx, dword [esi]
cmp ecx, 0x1e
ja 0x43a93d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi]
mov edx, dword [esi]
movzx edx, byte [esi + edx + 0x44]
mov edi, ecx
xor edi, 0xd0356615
mov eax, ecx
xor eax, 0x2fca99ea
or ecx, 0x50356615
and ecx, eax
lea ecx, [edi + ecx*2]
lea edi, [ecx + edx]
and ecx, edx
mov edx, edi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, edi
sub ecx, edx
mov dword [esi + 0x68], ecx
mov eax, dword [esi + 0x68]
add al, 0x97
mov ecx, dword [esi]
mov byte [esi + ecx + 0x44], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x1f
jb 0x43a8f0
mov eax, esi
lea edx, [esi + 0x68]
lea ecx, [esi + 0x44]
push eax
push 8
push edx
push 0xd
push ecx
push 0
call dword [esi + 0x18]
shr eax, 0x1f
mov edi, dword [esi + 0x28]
jmp dword [eax*4 + 0x44cf58]