Function at 0x43d6bb
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using rc4 ksa
Identify system language via api
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7b8
push esi
push edi
push 0x4a
xor eax, eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x2d0], edx
mov esi, eax
pop ecx
mov dword [esp + 0x170], 0x20
mov dword [esp + 0x174], 0xffffff96
add ecx, dword [esp + esi*4 + 0x170]
inc esi
cmp esi, 2
jl 0x43d6f4
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0xe4], 0x4b
mov dword [esp + 0xe8], 0x4e
mov dword [esp + 0xec], 0x24
mov dword [esp + 0xf0], 0xffffff43
cmp byte [str.HostProcessExecutionStop], al
je 0x43d751
inc eax
cmp eax, 0x1fa1
jg 0x43d7fe
cmp byte [eax + str.HostProcessExecutionStop], 0
jne 0x43d73c
mov eax, dword [0x44db94]
imul edi, eax, 0xc77efd9b
mov edx, str.HostProcessExecutionStop
or edi, 0x27fd2cd4
push edi
mov ecx, edi
call fcn.0043d5d1
movups xmm0, xmmword [esp + 0xe8]
mov dword [esp + 0x10], 0x56
xor esi, esi
xorps xmm1, xmm1
mov dword [esp + 0x14], 0x38
psubd xmm1, xmm0
mov dword [esp + 0x18], 0xffffff5f
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
pop ecx
psrldq xmm0, 4
paddd xmm1, xmm0
push 0x14
movd dword [esp + 0x2f0], xmm1
pop eax
add eax, dword [esp + esi*4 + 0xc]
inc esi
cmp esi, 3
jl 0x43d7bd
mov dword [esp + 0x280], eax
mov edx, 0xac6
mov eax, 0x4034e0
push 0x76
mov dword [esp + 0x170], eax
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x180a
ja 0x43d80d
movzx ecx, word [eax]
test ecx, ecx
jne 0x43d7e2
and edi, 0x42663c4
jmp 0x43d819
mov eax, dword [0x44db94]
xor eax, 0xee18079
jmp 0x43d756
and edi, 0xa40ed237
add edi, 0x8fe32d83
lea edx, [edi - 0x279d4624]
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
pop ecx
xor ecx, ecx
mov dword [esp + 0xc], 0x4e
mov dword [esp + 0x134], ecx
mov esi, ecx
mov dword [esp + 0x10], 6
mov dword [esp + 0x14], 0x1c
mov dword [esp + 0x18], 0xffffff90
mov dword [esp + 0xd8], 9
push 0x76
mov edx, 0x4034e0
pop edi
lea eax, [edi - 0x30]
cmp ax, word [esp + 0xd8]
ja 0x43d88b
add edx, 2
movzx eax, word [edx]
mov edi, eax
test ax, ax
jne 0x43d86a
mov eax, dword [0x44db94]
jmp 0x43d8cf
mov edx, ecx
mov eax, 0x4034e0
inc edx
lea eax, [eax + 2]
cmp edx, 0x337
jl 0x43d8aa
cmp word [eax], cx
jne 0x43d892
mov eax, dword [0x44db94]
jmp 0x43d8b4
mov eax, dword [0x44db94]
and eax, 0x36ed051
add eax, 0x24ef9eb0
mov dword [0x44db94], eax
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
xor eax, 0xffff9f8e
or eax, 0xff779b0a
and eax, 0xb9d038e5
push ecx
mov edx, eax
mov dword [0x44db94], eax
call fcn.0043d669
mov eax, dword [esp + 0x138]
sub eax, dword [esp + esi*4 + 0x10]
inc esi
mov dword [esp + 0x138], eax
pop ecx
push 0
pop ecx
cmp esi, 4
jl 0x43d862
mov esi, dword [0x44db94]
mov edx, ecx
push 0x5b
pop eax
mov dword [esp + 0x44], eax
or esi, 0xd2849d1e
mov dword [esp + 0xc], eax
mov eax, ecx
mov dword [esp + 0x10], 0x44
mov dword [esp + 0x14], 0xffffff61
sub edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43d92c
mov dword [esp + 0x284], edx
mov edi, ecx
mov dword [esp + 0xf4], 0x64
mov edx, ecx
mov dword [esp + 0xf8], 0x4d
mov eax, 0x4034e0
mov dword [esp + 0xfc], 0x34
mov dword [esp + 0x100], 0xe
mov dword [esp + 0x104], 0xffffff0d
inc edx
lea eax, [eax + 2]
cmp edx, 0x224d
jl 0x43d990
cmp word [eax], cx
jne 0x43d97d
jmp 0x43d996
or esi, 0xa37c6c94
push 5
and esi, 0x83d44551
mov eax, ecx
pop edx
or esi, 0x1800000
mov dword [esp + 0xdc], edx
sub edi, dword [esp + eax*4 + 0xf4]
and esi, 0x7f24bc43
inc eax
cmp eax, edx
jl 0x43d9ae
push 0x38
pop eax
push 0xe
pop edx
mov byte [esp + 0xa9], al
mov byte [esp + 0xb0], al
push 0x13
pop eax
mov dword [esp + 0x84], eax
mov byte [esp + 0xb7], al
mov byte [esp + 0xbc], al
mov eax, dword [0x4026c0]
mov dword [esp + 0x24], eax
mov ax, word [0x4026c4]
mov word [esp + 0x28], ax
mov eax, ecx
mov dword [esp + 0x288], edi
mov dword [esp + 0x88], 0x73e7d098
mov dword [esp + 0x8c], 0xbaa2118
mov dword [esp + 0x90], 0xaa92196c
mov dword [esp + 0x94], 0x924ea2b5
mov dword [esp + 0x98], 0x5b4dae4a
mov dword [esp + 0x9c], 0xbbec960
mov dword [esp + 0xa0], 0x9b3dbfbf
mov dword [esp + 0xa4], 0x7f0379e7
mov byte [esp + 0xa8], 0x26
mov word [esp + 0xaa], 0xed17
mov byte [esp + 0xac], 0x91
mov byte [esp + 0xad], dl
mov word [esp + 0xae], 0x9166
mov dword [esp + 0xb1], 0x75c5c444
mov word [esp + 0xb5], 0xd640
mov dword [esp + 0xb8], 0x77f83b6a
mov dword [esp + 0xbd], 0x48b7b661
mov dword [esp + 0xc1], 0xeb64d91d
mov word [esp + 0xc5], 0x7b34
mov byte [esp + 0xc7], 0x84
mov byte [esp + eax + 0x180], al
inc eax
cmp eax, 0x100
jb 0x43dad4
add esi, 0xfcc00
mov edi, ecx
mov dword [esp + 0x80], esi
mov esi, ecx
xor edx, edx
mov cl, byte [esp + edi + 0x180]
mov eax, edi
mov byte [esp + 0xb], cl
div dword [esp + 0xdc]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x24]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x180]
mov byte [esp + edi + 0x180], al
inc edi
mov al, byte [esp + 0xb]
mov byte [esp + esi + 0x180], al
cmp edi, 0x100
jb 0x43daf4
xor dword [esp + 0x80], 0x19eb609a
xor eax, eax
mov dword [esp + 0x20], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [esp + 0x20]
mov cl, byte [esp + edi + 0x180]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x20], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edi + 0x180], al
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x180], cl
movzx eax, byte [esp + edi + 0x180]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + esi + 0x88]
mov byte [esp + esi + 0x430], al
inc esi
cmp esi, 0x40
jb 0x43db50
mov ecx, dword [esp + 0x80]
lea edi, [esp + 0xcc]
mov esi, 0x40173c
mov dword [esp + 0x24], 0xbd5080c5
xor eax, eax
mov word [esp + 0x28], 0x75ad
or ecx, 0xeaab8a2c
mov byte [esp + 0x470], al
mov dword [0x44db94], ecx
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x40], eax
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov eax, dword [esp + 0x40]
mov byte [esp + eax + 0x180], al
inc eax
mov dword [esp + 0x40], eax
cmp eax, 0x100
jb 0x43dbf0
xor esi, esi
mov dword [esp + 0x80], 0xa
xor edx, edx
mov cl, byte [esp + esi + 0x180]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0x80]
movzx ecx, cl
movzx eax, byte [esp + edx + 0xcc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x180]
mov byte [esp + esi + 0x180], al
inc esi
mov al, byte [esp + 0xb]
mov byte [esp + edi + 0x180], al
cmp esi, 0x100
jb 0x43dc1a
xor eax, eax
mov dword [esp + 0x20], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [esp + 0x20]
mov cl, byte [esp + edi + 0x180]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x20], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edi + 0x180], al
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x180], cl
movzx eax, byte [esp + edi + 0x180]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + esi + 0x24]
mov byte [esp + esi + 0x2f0], al
inc esi
cmp esi, 6
jb 0x43dc6e
mov esi, dword [0x44db94]
xor ecx, ecx
push 0x34
and esi, 0xf9a23917
mov byte [esp + 0x2fa], cl
pop edx
mov dword [esp + 0xc], 0x1e
mov eax, ecx
mov dword [esp + 0x10], 0x21
mov dword [esp + 0x14], 0xffffff8d
mov dword [esp + 0x38], esi
add edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43dcff
push 0x27
mov dword [esp + 0x298], edx
mov eax, ecx
pop edx
mov dword [esp + 0xc], 0x24
mov dword [esp + 0x10], 0x1a
mov dword [esp + 0x14], 0xffffff9d
add edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43dd2d
push 5
mov dword [esp + 0x294], edx
mov eax, ecx
mov edx, ecx
mov dword [esp + 0x10], 0x35
mov dword [esp + 0x14], 0x2b
mov dword [esp + 0x18], 0x23
mov dword [esp + 0x1c], 0x58
mov dword [esp + 0x20], 0xffffff25
pop edi
sub edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, edi
jl 0x43dd6d
mov eax, dword [0x4026dc]
mov dword [esp + 0x24], eax
mov ax, word [0x4026e0]
mov word [esp + 0x28], ax
mov eax, ecx
mov dword [esp + 0x28c], edx
mov dword [esp + 0x88], 0x91af626f
mov dword [esp + 0x8c], 0x9eae41b1
mov dword [esp + 0x90], 0xbc87f24f
mov dword [esp + 0x94], 0xefd3d50c
mov dword [esp + 0x98], 0xbec371bb
mov dword [esp + 0x9c], 0x5eef0f31
mov dword [esp + 0xa0], 0x43c48fec
mov dword [esp + 0xa4], 0xa4f045ee
mov dword [esp + 0xa8], 0x6cdda326
mov dword [esp + 0xac], 0xb234cfa8
mov dword [esp + 0xb0], 0x5df9b95b
mov dword [esp + 0xb4], 0x94b29e7d
mov dword [esp + 0xb8], 0xde8af092
mov dword [esp + 0xbc], 0x94225ce7
mov dword [esp + 0xc0], 0xe08bfe5d
mov dword [esp + 0xc4], 0xa217c1ca
mov byte [esp + eax + 0x180], al
inc eax
cmp eax, 0x100
jb 0x43de43
mov edi, ecx
mov esi, ecx
xor edx, edx
mov cl, byte [esp + edi + 0x180]
mov eax, edi
mov byte [esp + 0xb], cl
div dword [esp + 0xdc]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x24]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x180]
mov byte [esp + edi + 0x180], al
inc edi
mov al, byte [esp + 0xb]
mov byte [esp + esi + 0x180], al
cmp edi, 0x100
jb 0x43de56
mov esi, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x20], eax
mov edx, eax
mov edi, eax
mov al, byte [str.HostProcessExecutionStop]
mov ecx, str.HostProcessExecutionStop
jmp 0x43dec0
sub al, 0x30
cmp al, 9
ja 0x43dec6
inc ecx
mov al, byte [ecx]
test al, al
jne 0x43deb7
jmp 0x43decc
add esi, 0x4c7593e2
lea eax, [edx + 1]
add esi, 0x9d70b1a2
movzx eax, al
mov dword [esp + 0x74], eax
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x74]
mov cl, byte [esp + eax + 0x180]
mov eax, dword [esp + 0x20]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x20], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + esi + 0x180], al
mov eax, dword [esp + 0x20]
mov byte [esp + eax + 0x180], cl
mov eax, esi
mov esi, dword [esp + 0x38]
movzx eax, byte [esp + eax + 0x180]
add eax, edx
mov edx, dword [esp + 0x74]
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + edi + 0x88]
mov byte [esp + edi + 0x478], al
inc edi
cmp edi, 0x40
jb 0x43deab
mov esi, 0x401628
mov dword [esp + 0x24], 0xdec65fbb
lea edi, [esp + 0xc]
mov word [esp + 0x28], 0xc9b6
xor eax, eax
mov byte [esp + 0x4b8], al
mov ecx, eax
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x40], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
or esi, 0xe934fa5e
imul esi, esi, 0xad170e6b
mov byte [esp + ecx + 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x43df81
mov dword [esp + 0x38], esi
mov edi, eax
xor edx, edx
mov cl, byte [esp + edi + 0x180]
mov eax, edi
mov byte [esp + 0xb], cl
div dword [esp + 0x100]
movzx ecx, cl
movzx eax, byte [esp + edx + 0xc]
add eax, dword [esp + 0x40]
add ecx, eax
movzx ecx, cl
mov dword [esp + 0x40], ecx
mov al, byte [esp + ecx + 0x180]
mov byte [esp + edi + 0x180], al
inc edi
mov al, byte [esp + 0xb]
mov byte [esp + ecx + 0x180], al
cmp edi, 0x100
jb 0x43df9d
xor eax, eax
mov dword [esp + 0x74], eax
mov esi, eax
mov edi, eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [esp + 0x74]
mov cl, byte [esp + esi + 0x180]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x74], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + esi + 0x180], al
mov eax, dword [esp + 0x74]
mov byte [esp + eax + 0x180], cl
movzx eax, byte [esp + esi + 0x180]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + edi + 0x24]
mov byte [esp + edi + 0x310], al
inc edi
cmp edi, 6
jb 0x43dff4
mov esi, dword [esp + 0x38]
xor eax, eax
push 0x76
mov byte [esp + 0x31a], al
mov edi, 0x524
mov dword [esp + 0x140], 0x1a
mov ecx, 0x4034e0
mov dword [esp + 0x10], 0x20
mov dword [esp + 0x14], 0x3a
mov dword [esp + 0x18], 0xffffffbe
pop edx
add edi, edx
lea ecx, [ecx + 2]
cmp edi, 0x1b9
ja 0x43e0a8
movzx edx, word [ecx]
test edx, edx
jne 0x43e08c
sub esi, 0xbd7b3e6
jmp 0x43e0e3
mov edi, str.HostProcessExecutionStop
mov ecx, esi
push esi
mov edx, edi
call fcn.0043d5d1
add esi, 0x1300a0a0
mov edx, edi
push esi
mov ecx, esi
call fcn.0043d5d1
pop ecx
pop ecx
and esi, 0xd59caf68
mov dword [0x44db94], esi
call dword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov esi, dword [0x44db94]
xor eax, eax
mov edx, dword [esp + 0x13c]
sub esi, 0x14df2cb4
mov dword [esp + 0x38], esi
mov ecx, eax
sub edx, dword [esp + ecx*4 + 0xc]
inc ecx
cmp ecx, 3
jl 0x43e0f6
mov dword [esp + 0xc], 0x27
xorps xmm1, xmm1
mov dword [esp + 0x10], 0x2a
mov ecx, eax
mov dword [esp + 0x14], 0x45
mov dword [esp + 0x18], 0xffffff6a
movups xmm0, xmmword [esp + 0xc]
mov dword [esp + 0x13c], edx
mov edx, 0x18c
mov dword [esp + 0xc], 0x61
psubd xmm1, xmm0
mov dword [esp + 0x10], 0x3c
movaps xmm0, xmm1
mov dword [esp + 0x14], 0xc3
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [esp + 0x298], xmm1
sub edx, dword [esp + ecx*4 + 0xc]
inc ecx
cmp ecx, 3
jl 0x43e173
or dword [esp + 0x38], 0xd15faeb8
lea edi, [esp + 0x24]
mov esi, 0x40343c
mov dword [esp + 0x2e8], edx
push 0x12
pop ecx
mov dword [esp + 0xf4], ecx
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x71], cl
mov ecx, eax
mov dword [esp + 0x48], 0x456391b6
mov dword [esp + 0x4c], 0xb15d9ad6
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x50], 0xca69bbe5
mov dword [esp + 0x54], 0x2514bda7
mov dword [esp + 0x58], 0xe9401d98
movsw word es:[edi], word [esi]
mov dword [esp + 0x5c], 0x21b97c1b
mov dword [esp + 0x60], 0xa7b13e5b
mov dword [esp + 0x64], 0x2304cf0
mov dword [esp + 0x68], 0x8dc7ab82
mov dword [esp + 0x6c], 0xfb80434a
mov byte [esp + 0x70], 0x47
mov word [esp + 0x72], 0x1cd9
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x3c], eax
mov byte [esp + ecx + 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x43e20a
mov esi, dword [esp + 0x3c]
mov edi, eax
xor edx, edx
mov cl, byte [esp + edi + 0x180]
mov eax, edi
mov byte [esp + 0xb], cl
div dword [esp + 0x80]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x24]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x180]
mov byte [esp + edi + 0x180], al
inc edi
mov al, byte [esp + 0xb]
mov byte [esp + esi + 0x180], al
cmp edi, 0x100
jb 0x43e220
mov esi, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x74], eax
mov edi, eax
mov dword [esp + 0x20], eax
mov eax, 0x403480
push 0x66
mov ecx, eax
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43e29b
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43e281
jmp 0x43e2a1
xor esi, 0xa2d8cf07
imul esi, esi, 0xb4462070
mov edx, str.HostProcessExecutionStop
push esi
mov ecx, esi
call fcn.0043d5d1
mov eax, dword [esp + 0x24]
inc eax
movzx edx, al
pop ecx
push 0x76
mov dword [esp + 0x24], edx
mov cl, byte [esp + edx + 0x184]
movzx eax, cl
mov dword [esp + 0x40], eax
add eax, dword [esp + 0x78]
add esi, 0xc201a239
movzx eax, al
mov dword [esp + 0x78], eax
mov al, byte [esp + eax + 0x184]
mov byte [esp + edx + 0x184], al
mov edx, 0x13a
mov eax, dword [esp + 0x78]
mov byte [esp + eax + 0x184], cl
mov eax, 0x4034e0
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x16b3
ja 0x43e31c
movzx ecx, word [eax]
test ecx, ecx
jne 0x43e306
jmp 0x43e330
push esi
mov edx, str.HostProcessExecutionStop
mov ecx, esi
call fcn.0043d5d1
pop ecx
imul esi, esi, 0x3caf337c
lea eax, [esi - 0x4c193c4]
mov edx, str.HostProcessExecutionStop
imul esi, eax, 0x7b2bf135
push esi
mov ecx, esi
call fcn.0043d5d1
mov eax, dword [esp + 0x24]
pop ecx
movzx eax, byte [esp + eax + 0x180]
add eax, dword [esp + 0x3c]
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + edi + 0x48]
mov byte [esp + edi + 0x3a0], al
inc edi
mov eax, 0x403480
cmp edi, 0x2c
jb 0x43e27c
push 0x66
mov ecx, eax
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43e39d
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43e383
jmp 0x43e3a3
xor esi, 0x86c8e420
and esi, 0xc5c7be4d
mov edx, str.HostProcessExecutionStop
push esi
mov ecx, esi
mov dword [esp + 0x3c], esi
call fcn.0043d5d1
mov esi, 0x403448
mov dword [esp + 0x28], 0x2aeeaef3
lea edi, [esp + 0xd0]
mov word [esp + 0x2c], 0xcd19
xor eax, eax
pop ecx
movsd dword es:[edi], dword [esi]
mov ecx, eax
mov byte [esp + 0x3cc], al
mov dword [esp + 0x40], eax
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x38]
add esi, 0x62722019
mov byte [esp + ecx + 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x43e3f4
mov edi, eax
xor edx, edx
mov cl, byte [esp + edi + 0x180]
mov eax, edi
mov byte [esp + 0xb], cl
div dword [esp + 0x80]
movzx ecx, cl
sub esi, 0x72d90bb1
movzx eax, byte [esp + edx + 0xcc]
add eax, dword [esp + 0x40]
add ecx, eax
movzx ecx, cl
mov dword [esp + 0x40], ecx
mov al, byte [esp + ecx + 0x180]
mov byte [esp + edi + 0x180], al
inc edi
mov al, byte [esp + 0xb]
mov byte [esp + ecx + 0x180], al
cmp edi, 0x100
jb 0x43e406
xor eax, eax
mov dword [0x44db94], esi
mov dword [esp + 0x74], eax
mov ecx, eax
mov dword [esp + 0x20], eax
mov edx, 0x4034e0
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x1a19
jg 0x43e494
cmp word [edx], ax
jne 0x43e473
cmp ecx, 0x8d3
jg 0x43e4a9
or esi, 0xa1ac155b
jmp 0x43e4bd
push ecx
mov edx, esi
call fcn.0043d669
mov esi, dword [0x44db94]
pop ecx
xor esi, 0x92aa2d42
push esi
mov edx, str.HostProcessExecutionStop
mov ecx, esi
call fcn.0043d5d1
pop ecx
add esi, 0xb6950961
lea edi, [esi - 0x194d682f]
mov edx, str.HostProcessExecutionStop
push edi
mov ecx, edi
call fcn.0043d5d1
xor esi, esi
pop ecx
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x20]
inc eax
movzx eax, al
mov dword [esp + 0x20], eax
mov cl, byte [esp + eax + 0x180]
mov eax, dword [esp + 0x74]
movzx edx, cl
add eax, edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x20]
movzx eax, al
mov dword [esp + 0x74], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edx + 0x180], al
mov eax, dword [esp + 0x74]
mov byte [esp + eax + 0x180], cl
mov eax, edx
movzx eax, byte [esp + eax + 0x180]
add eax, dword [esp + 0x3c]
movzx eax, al
mov al, byte [esp + eax + 0x180]
mov byte [esp + 0xb], al
mov eax, esi
cmp byte [str.HostProcessExecutionStop], al
je 0x43e55a
inc eax
cmp eax, 0xf4d
jl 0x43e554
cmp byte [eax + str.HostProcessExecutionStop], 0
jne 0x43e541
jmp 0x43e55a
add edi, 0x5666dd85
sub edi, 0x335e55eb
push ecx
mov edx, edi
mov dword [0x44db94], edi
call fcn.0043d669
pop ecx
mov ecx, dword [esp + 0x40]
mov al, byte [esp + ecx + 0x24]
xor al, byte [esp + 0xb]
mov byte [esp + ecx + 0x308], al
inc ecx
mov dword [esp + 0x40], ecx
cmp ecx, 6
jae 0x43e597
mov edi, dword [0x44db94]
jmp 0x43e4d7
mov esi, dword [0x44db94]
xor eax, eax
mov byte [esp + 0x30e], al
mov edi, eax
mov dword [esp + 0x24], 0x2e
mov dword [esp + 0x28], 0x10
mov dword [esp + 0x2c], 0x57
mov dword [esp + 0x30], 0xffffff10
push 0x76
mov ecx, 0x4034e0
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43e5ea
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43e5d0
jmp 0x43e647
push 0x76
mov edx, 0x3de
mov eax, 0x4034e0
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x85e
ja 0x43e60d
movzx ecx, word [eax]
test ecx, ecx
jne 0x43e5f7
jmp 0x43e622
push ecx
mov edx, esi
call fcn.0043d669
mov esi, dword [0x44db94]
pop ecx
and esi, 0xaf7eb7d9
lea edx, [esi - 0x28b56f15]
xor edx, 0xac8ada01
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
mov esi, dword [0x44db94]
pop ecx
add esi, 0x368483e8
mov eax, dword [esp + 0x44]
xor esi, 0x7c40c018
add eax, dword [esp + edi*4 + 0x24]
inc edi
mov dword [0x44db94], esi
mov dword [esp + 0x44], eax
cmp edi, 4
jl 0x43e5c8
push 0x39
pop edi
xor eax, eax
mov dword [esp + 0x24], 0x4b
mov edx, 0x6fff9
mov dword [esp + 0x28], 6
mov dword [esp + 0x2c], 0x24
mov ecx, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], 0x5ff4c
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 5
jl 0x43e699
push 0x4a
mov dword [esp + 0x15c], edx
and esi, 0xe0d24547
pop edx
mov dword [esp + 0x24], 7
mov ecx, eax
mov dword [esp + 0x28], 0xffffffaf
add edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 2
jl 0x43e6c5
push 0x2c
mov dword [esp + 0x14c], edx
mov ecx, eax
pop edx
mov dword [esp + 0x24], 0x1b
mov dword [esp + 0x28], 0xffffffb9
add edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 2
jl 0x43e6eb
push 0x12
pop ecx
push 5
mov dword [esp + 0x150], edx
mov edx, 0x90000
mov dword [esp + 0x2c], ecx
mov ecx, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], 0x21
mov dword [esp + 0x34], 0x55
mov dword [esp + 0x38], 0x7ff3f
pop edi
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, edi
jl 0x43e729
push 0x3c
pop ecx
push 0x2c
pop edi
mov dword [esp + 0x154], edx
and esi, 0x68106599
mov dword [esp + 0x28], ecx
mov edx, eax
mov dword [esp + 0x24], 0x47
mov ecx, eax
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 8
mov dword [esp + 0x34], 0xffffff49
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 5
jl 0x43e769
push 7
mov dword [esp + 0x154], edx
mov ecx, eax
pop edx
mov dword [esp + 0x24], 0x54
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 0xffffff86
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 3
jl 0x43e793
push 5
mov dword [esp + 0x168], edx
and esi, 0x3ef9ec80
mov edx, eax
mov dword [esp + 0x28], 0x5e
mov dword [esp + 0x2c], 0x40
mov ecx, eax
mov dword [esp + 0x30], 0x4e
mov dword [esp + 0x34], 0x11
mov dword [esp + 0x38], 0xffffff03
pop edi
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, edi
jl 0x43e7d9
push 0x1f
pop edi
mov dword [esp + 0x28], edi
xorps xmm1, xmm1
mov dword [esp + 0x24], 0x54
or esi, 0x3760d500
mov dword [esp + 0x2c], 0x33
xorps xmm2, xmm2
mov dword [esp + 0x30], 0xdff5a
movups xmm0, xmmword [esp + 0x24]
push 5
mov dword [esp + 0x16c], edx
mov edx, eax
psubd xmm1, xmm0
mov dword [esp + 0x2c], edi
movaps xmm0, xmm1
mov dword [esp + 0x28], 0x5c
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x30], 0x63
movups xmm0, xmm1
mov dword [esp + 0x34], 0x54
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0x38], 0xfffffece
movd ecx, xmm1
pop edi
add ecx, 0x100000
mov dword [esp + 0x144], ecx
mov ecx, eax
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, edi
jl 0x43e871
push 0xe
pop ecx
push 0xd
mov dword [esp + 0x2c], ecx
movaps xmm1, xmm2
pop edi
mov dword [esp + 0x24], 0x4a
or esi, 0x61639295
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0xffffff78
movups xmm0, xmmword [esp + 0x24]
push 0x11
mov dword [esp + 0x144], edx
paddd xmm1, xmm0
mov dword [esp + 0x28], 0x16
movaps xmm0, xmm1
mov dword [esp + 0x2c], 3
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x30], 0xffffffd6
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
pop edx
add ecx, 0x23
mov dword [esp + 0x2dc], ecx
mov ecx, eax
add edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 3
jl 0x43e8f4
push 0xa
pop ecx
mov dword [esp + 0x2d4], edx
mov edx, ecx
mov dword [esp + 0x24], 0x18
mov ecx, eax
mov dword [esp + 0x28], 0x3ffde
add edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 2
jl 0x43e91c
mov dword [esp + 0x15c], edx
mov ecx, eax
mov edx, eax
mov dword [esp + 0x24], 0x1d
mov dword [esp + 0x28], 0x37
mov dword [esp + 0x2c], 0xffffffac
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 3
jl 0x43e949
push 0x10
mov dword [esp + 0x17c], edx
mov ecx, eax
pop edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0x60
mov dword [esp + 0x2c], 0x1b
mov dword [esp + 0x30], 0xffffff68
add edx, dword [esp + ecx*4 + 0x24]
or esi, 0xc959c81d
inc ecx
cmp ecx, 4
jl 0x43e97b
push 4
mov dword [esp + 0x2e4], edx
mov ecx, eax
pop edx
mov dword [esp + 0x24], 0x2f
mov dword [esp + 0x28], 0xffffffcd
add edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, 2
jl 0x43e9a7
push 8
mov dword [esp + 0x2e8], edx
mov ecx, eax
pop edi
mov edx, 0x403480
inc ecx
lea edx, [edx + 2]
cmp ecx, 0x252c
jl 0x43e9d5
cmp word [edx], ax
jne 0x43e9c2
jmp 0x43e9e3
or esi, 0x6ed820cb
cmp ecx, 0xa23
jle 0x43e9f1
push esi
mov edx, str.HostProcessExecutionStop
mov ecx, esi
call fcn.0043d5d1
pop ecx
and esi, 0x1022212e
push ecx
mov edx, esi
mov dword [0x44db94], esi
call fcn.0043d669
pop ecx
push 0xc
pop esi
push 0x56
pop eax
mov dword [esp + 0x2c], eax
xor eax, eax
push 5
mov dword [esp + 0x28], esi
mov ecx, eax
mov dword [esp + 0x2c], 0x46
mov dword [esp + 0x34], 0x40
mov dword [esp + 0x38], 0xffffff1f
pop esi
sub edi, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, esi
jl 0x43ea33
push 9
pop ecx
mov edx, ecx
mov dword [esp + 0xcc], edi
mov dword [esp + 0x24], 0x2d
mov ecx, eax
mov dword [esp + 0x28], 0x33
mov dword [esp + 0x2c], 0x19
mov dword [esp + 0x30], 0x43
mov dword [esp + 0x34], 0xffffff4c
sub edx, dword [esp + ecx*4 + 0x24]
inc ecx
cmp ecx, esi
jl 0x43ea72
mov dword [esp + 0x24], 0x2e
lea edi, [esp + 0x24]
mov dword [esp + 0x28], 0x22
mov esi, 0x403454
push 0x3b
pop ecx
mov dword [esp + 0x2c], ecx
xorps xmm1, xmm1
mov dword [esp + 0x30], 0xffffff75
xorps xmm2, xmm2
movups xmm0, xmmword [esp + 0x24]
movsd dword es:[edi], dword [esi]
push 0xa
psubd xmm1, xmm0
mov dword [esp + 0x2c0], edx
movaps xmm0, xmm1
mov byte [esp + 0x55], cl
movsd dword es:[edi], dword [esi]
mov ecx, eax
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x4c], 0x34a07a83
movups xmm0, xmm1
mov word [esp + 0x50], 0xd770
movsd dword es:[edi], dword [esi]
psrldq xmm0, 4
paddd xmm1, xmm0
mov byte [esp + 0x52], 0x6b
pop edx
movsd dword es:[edi], dword [esi]
movd dword [esp + 0x29c], xmm1
mov byte [esp + 0x4f], dl
mov byte [esp + 0x50], 0xd1
movsw word es:[edi], word [esi]
mov dword [esp + 0x52], 0x61a8d90f
mov dword [esp + 0x56], 0xbdcfc3cb
mov dword [esp + 0x5a], 0x25f9b8b6
mov word [esp + 0x5e], 0xc6c5
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x40], eax
mov byte [esp + ecx + 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x43eb2a
mov edi, dword [0x44db94]
mov esi, eax
xor edx, edx
mov cl, byte [esp + esi + 0x180]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0xf4]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x24]
add eax, dword [esp + 0x40]
add ecx, eax
movzx edx, cl
mov ecx, str.HostProcessExecutionStop
mov dword [esp + 0x40], edx
mov al, byte [esp + edx + 0x180]
mov byte [esp + esi + 0x180], al
mov al, byte [str.HostProcessExecutionStop]
jmp 0x43eb90
sub al, 0x30
cmp al, 9
ja 0x43eb96
inc ecx
mov al, byte [ecx]
test al, al
jne 0x43eb87
jmp 0x43eb9c
or edi, 0x1f14c458
mov al, byte [esp + 0xb]
imul edi, edi, 0x105e8529
inc esi
mov byte [esp + edx + 0x180], al
cmp esi, 0x100
jb 0x43eb42
xor eax, eax
mov dword [esp + 0xf4], edi
mov dword [esp + 0x74], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [esp + 0x74]
mov cl, byte [esp + edi + 0x180]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x74], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edi + 0x180], al
mov eax, dword [esp + 0x74]
mov byte [esp + eax + 0x180], cl
movzx eax, byte [esp + edi + 0x180]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + esi + 0x48]
mov byte [esp + esi + 0x36c], al
inc esi
cmp esi, 0x18
jb 0x43ebc7
push 0xf
pop ecx
mov esi, 0x40329c
mov dword [esp + 0x24], 0xf2d61b71
lea edi, [esp + 0x88]
mov word [esp + 0x28], 0x59ff
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov byte [esp + 0x384], al
mov ecx, eax
movsb byte es:[edi], byte [esi]
imul edi, dword [esp + 0xf4], 0x9918b5c6
or edi, 0x4f0fcf30
mov byte [esp + ecx + 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x43ec59
and edi, 0xcb9063a3
mov esi, eax
mov dword [esp + 0x20], edi
mov edi, eax
xor edx, edx
mov cl, byte [esp + esi + 0x180]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0x10]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x88]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x180]
mov byte [esp + esi + 0x180], al
inc esi
mov al, byte [esp + 0xb]
mov byte [esp + edi + 0x180], al
cmp esi, 0x100
jb 0x43ec7d
mov edi, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x74], eax
mov ecx, eax
mov esi, eax
xor edi, 0x9d08c2e9
lea eax, [ecx + 1]
add edi, 0x65781460
movzx eax, al
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x40]
mov cl, byte [esp + eax + 0x180]
mov eax, dword [esp + 0x74]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x74], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edi + 0x180], al
mov eax, dword [esp + 0x74]
mov byte [esp + eax + 0x180], cl
mov ecx, edi
mov edi, dword [esp + 0x20]
movzx eax, byte [esp + ecx + 0x180]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + esi + 0x24]
mov byte [esp + esi + 0x2f8], al
inc esi
cmp esi, 6
jb 0x43ecd8
mov dword [esp + 0xc], 0x58
movaps xmm1, xmm2
mov dword [esp + 0x10], 0x5d
xor ecx, ecx
mov dword [esp + 0x14], 0x30
mov edx, ecx
mov dword [esp + 0x18], 0xfffffebd
movups xmm0, xmmword [esp + 0xc]
push 0x13
mov byte [esp + 0x302], cl
paddd xmm1, xmm0
mov dword [esp + 0x10], 0x31
movaps xmm0, xmm1
mov dword [esp + 0x14], 0x45
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x1c], 0x34
movups xmm0, xmm1
mov dword [esp + 0x20], 0xffffff43
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x5e
mov dword [esp + 0x2bc], eax
pop eax
push 5
mov dword [esp + 0x18], eax
mov eax, ecx
pop esi
sub edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, esi
jl 0x43edd4
push 0x54
mov dword [esp + 0x2b8], edx
mov eax, ecx
pop edx
mov dword [esp + 0xc], 0x61
mov dword [esp + 0x10], 0x42
mov dword [esp + 0x14], 0xffffff09
add edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43ee01
push 0x46
pop eax
push 0x76
mov dword [esp + 0x2b4], edx
mov edx, 0x4034e0
mov dword [esp + 0x44], eax
pop esi
lea eax, [esi - 0x30]
cmp ax, word [esp + 0xd8]
ja 0x43ee3d
add edx, 2
movzx eax, word [edx]
mov esi, eax
test ax, ax
jne 0x43ee21
jmp 0x43ee43
or edi, 0x2168090d
push 0x3c
pop eax
mov dword [esp + 0xc], eax
sub edi, 0xf77b024
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], 0x16
mov dword [esp + 0x14], 0xffffff69
add eax, dword [esp + ecx*4 + 0xc]
inc ecx
cmp ecx, 3
jl 0x43ee64
push 0x76
mov dword [esp + 0x44], eax
mov edx, 0xa11
mov eax, 0x4034e0
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0xe5f
ja 0x43ee95
movzx ecx, word [eax]
test ecx, ecx
jne 0x43ee7f
jmp 0x43eebc
push edi
mov edx, str.HostProcessExecutionStop
mov ecx, edi
call fcn.0043d5d1
xor edi, 0x7c57a21f
mov edx, edi
mov dword [0x44db94], edi
call fcn.0043d669
mov edi, dword [0x44db94]
pop ecx
lea eax, [edi + 0x6791f935]
imul edx, eax, 0xa8129352
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
pop ecx
push 0x38
pop edx
xor eax, eax
mov dword [esp + 0xc], 0x11
push 5
mov dword [esp + 0x14], 0x1c
mov ecx, eax
mov dword [esp + 0x18], 0x1e
mov dword [esp + 0x1c], 0x62
mov dword [esp + 0x20], 0xffffff87
pop esi
sub edx, dword [esp + ecx*4 + 0xc]
inc ecx
cmp ecx, esi
jl 0x43ef07
mov dword [esp + 0xc], 0x30
xorps xmm1, xmm1
mov dword [esp + 0x10], 0x31
mov dword [esp + 0x14], 0x32
mov dword [esp + 0x18], 0xffffffad
movups xmm0, xmmword [esp + 0xc]
push 0x24
mov dword [esp + 0x2b0], edx
psubd xmm1, xmm0
mov dword [esp + 0x28], 0x60
movaps xmm0, xmm1
mov dword [esp + 0x2c], 0xffffff7c
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x48
imul esi, dword [0x44db94], 0x8c17334c
mov dword [esp + 0x2ac], ecx
pop ecx
add ecx, dword [esp + eax*4 + 0x24]
inc eax
cmp eax, 2
jl 0x43ef86
push 0x76
mov dword [esp + 0x2a8], ecx
mov edx, 0x1ac9
mov dword [esp + 0x10], 0xb
mov eax, 0x4034e0
mov dword [esp + 0x14], 0x39
mov dword [esp + 0x18], 0xffffff65
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x18e9
ja 0x43efd2
movzx ecx, word [eax]
test ecx, ecx
jne 0x43efbc
jmp 0x43efd8
or esi, 0xa42ef8e5
imul edx, esi, 0x263287a1
push ecx
xor edx, 0xf6a7e70d
mov dword [0x44db94], edx
call fcn.0043d669
pop ecx
xor ecx, ecx
push 0x57
mov eax, ecx
pop edx
add edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43eff8
push 0x12
pop eax
mov byte [esp + 0x4d], al
mov edi, ecx
mov eax, dword [0x402a4c]
mov dword [esp + 0x24], eax
mov ax, word [0x402a50]
mov word [esp + 0x28], ax
mov eax, ecx
mov dword [esp + 0x2a0], edx
mov dword [esp + 0x48], 0xdff09c7b
mov byte [esp + 0x4c], 0x74
mov dword [esp + 0x4e], 0x4592e200
mov dword [esp + 0x52], 0xc8643e98
mov dword [esp + 0x56], 0x40553317
mov dword [esp + 0x5a], 0x2693242e
mov dword [esp + 0x5e], 0xb4ae4065
mov dword [esp + 0x62], 0x11b9bb60
mov dword [esp + 0x66], 0x62252a4d
mov dword [esp + 0x6a], 0x1bce9526
mov dword [esp + 0x6e], 0x10474e76
mov word [esp + 0x72], 0xfda0
mov byte [esp + eax + 0x180], al
inc eax
cmp eax, 0x100
jb 0x43f084
mov esi, ecx
xor edx, edx
mov cl, byte [esp + esi + 0x180]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0xdc]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x24]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x180]
mov byte [esp + esi + 0x180], al
inc esi
mov al, byte [esp + 0xb]
mov byte [esp + edi + 0x180], al
cmp esi, 0x100
jb 0x43f095
xor eax, eax
mov ecx, str.HostProcessExecutionStop
mov dword [esp + 0x74], eax
mov edi, eax
mov al, byte [str.HostProcessExecutionStop]
test al, al
je 0x43f106
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x43f25a
inc ecx
mov al, byte [ecx]
test al, al
jne 0x43f0f5
mov edx, dword [0x44db94]
sub edx, 0x268bd281
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
pop ecx
xor esi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [esp + 0x74]
mov cl, byte [esp + edi + 0x180]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x74], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edi + 0x180], al
mov eax, dword [esp + 0x74]
mov byte [esp + eax + 0x180], cl
movzx eax, byte [esp + edi + 0x180]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + esi + 0x48]
mov byte [esp + esi + 0x3d0], al
inc esi
cmp esi, 0x2c
jb 0x43f121
xor eax, eax
mov dword [esp + 0x24], 0xf2ae115f
imul edx, dword [0x44db94], 0xa530665d
lea edi, [esp + 0x48]
push 5
pop ecx
mov esi, 0x401a0c
mov byte [esp + 0x3fc], al
rep movsd dword es:[edi], dword [esi]
mov word [esp + 0x28], 0x4f20
mov edi, eax
mov dword [esp + 0x38], edx
mov ecx, eax
mov byte [esp + ecx + 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x43f1b4
mov esi, eax
xor edx, edx
mov cl, byte [esp + esi + 0x180]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0x84]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x48]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x180]
mov byte [esp + esi + 0x180], al
inc esi
mov al, byte [esp + 0xb]
mov byte [esp + edi + 0x180], al
cmp esi, 0x100
jb 0x43f1c6
xor ecx, ecx
mov edx, ecx
mov esi, ecx
mov edi, ecx
lea eax, [esi + 1]
movzx esi, al
mov al, byte [esp + esi + 0x180]
mov byte [esp + 0xb], al
movzx eax, al
mov dword [esp + 0xf4], eax
add eax, edx
movzx eax, al
mov edx, ecx
mov dword [esp + 0x84], eax
mov eax, 0x4034e0
inc edx
lea eax, [eax + 2]
cmp edx, 0x1c7f
jl 0x43f26b
cmp word [eax], cx
jne 0x43f243
mov eax, dword [esp + 0x38]
jmp 0x43f288
mov edx, dword [0x44db94]
and edx, 0x602037c0
jmp 0x43f10c
mov eax, dword [esp + 0x38]
mov edx, str.HostProcessExecutionStop
push eax
mov ecx, eax
call fcn.0043d5d1
mov eax, dword [esp + 0x3c]
pop ecx
sub eax, 0x3c27fc7e
xor ecx, ecx
mov edx, dword [esp + 0x84]
add eax, 0x6abd7792
or eax, 0x1935bfd0
mov dword [esp + 0x38], eax
mov al, byte [esp + edx + 0x180]
mov byte [esp + esi + 0x180], al
mov al, byte [esp + 0xb]
mov byte [esp + edx + 0x180], al
movzx eax, byte [esp + esi + 0x180]
add eax, dword [esp + 0xf4]
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + edi + 0x24]
mov byte [esp + edi + 0x300], al
inc edi
cmp edi, 6
jb 0x43f215
mov eax, dword [esp + 0x38]
mov edx, ecx
add eax, 0x7c9484b
mov dword [esp + 0x10], 0x62
mov dword [esp + 0x20], eax
mov dword [0x44db94], eax
push 0x13
pop eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 0x1d
mov dword [esp + 0x18], 0xffffff3b
movups xmm1, xmmword [esp + 0xc]
mov byte [esp + 0x306], cl
mov dword [esp + 0xc], 0x32
movaps xmm0, xmm1
mov dword [esp + 0x10], 0x4c
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x14], 0xffffff82
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x34
mov dword [esp + 0x2d0], eax
mov eax, ecx
sub edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43f363
push 0x50
mov dword [esp + 0x2c4], edx
mov eax, ecx
pop edx
mov dword [esp + 0x24], 0x1a
mov dword [esp + 0x28], 0xffffff9e
add edx, dword [esp + eax*4 + 0x24]
inc eax
cmp eax, 2
jl 0x43f389
mov esi, 0x401654
mov dword [esp + 0x24], edx
lea edi, [esp + 0xf4]
mov word [esp + 0x48], 0xe211
push 0xa
pop eax
movsd dword es:[edi], dword [esi]
push 0x53
mov byte [esp + 0x4f], al
pop eax
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x38], eax
mov byte [esp + 0x50], al
push 0xe
movsw word es:[edi], word [esi]
pop eax
mov byte [esp + 0x52], al
mov byte [esp + 0x6e], al
mov eax, ecx
movsb byte es:[edi], byte [esi]
mov byte [esp + 0x4a], 0xf9
mov edi, ecx
mov dword [esp + 0x4c], 0x1e7aa2c8
mov byte [esp + 0x51], 0x90
mov dword [esp + 0x53], 0x17a22240
mov dword [esp + 0x57], 0x7946ed1
mov dword [esp + 0x5b], 0x6fc9f2ed
mov dword [esp + 0x5f], 0x82706b3f
mov dword [esp + 0x63], 0x2d697386
mov dword [esp + 0x67], 0xf84f460c
mov word [esp + 0x6b], 0xc0ed
mov byte [esp + 0x6d], 0x2f
mov dword [esp + 0x6f], 0x37d230f2
mov byte [esp + 0x73], 0xeb
mov byte [esp + eax + 0x180], al
inc eax
cmp eax, 0x100
jb 0x43f42b
mov esi, ecx
xor edx, edx
mov cl, byte [esp + esi + 0x180]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0x80]
movzx ecx, cl
movzx eax, byte [esp + edx + 0xf4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x180]
mov byte [esp + esi + 0x180], al
inc esi
mov al, byte [esp + 0xb]
mov byte [esp + edi + 0x180], al
cmp esi, 0x100
jb 0x43f43c
mov esi, dword [esp + 0x20]
xor eax, eax
mov dword [esp + 0x74], eax
mov edi, eax
mov dword [esp + 0x3c], eax
movzx eax, byte [str.HostProcessExecutionStop]
mov edx, 0x15c6
mov ecx, str.HostProcessExecutionStop
jmp 0x43f4b7
add edx, eax
inc ecx
cmp edx, 0x2090
ja 0x43f4f7
movzx eax, byte [ecx]
test eax, eax
jne 0x43f4a9
xor esi, 0xb1d49ee9
imul esi, esi, 0xbe1f74a9
mov edx, str.HostProcessExecutionStop
push esi
mov ecx, esi
call fcn.0043d5d1
lea eax, [edi + 1]
movzx edi, al
xor eax, eax
pop ecx
mov edx, eax
mov ecx, 0x4034e0
inc edx
lea ecx, [ecx + 2]
cmp edx, 0x12e5
je 0x43f525
cmp word [ecx], ax
jne 0x43f4e4
jmp 0x43f52b
push ecx
mov edx, esi
call fcn.0043d669
mov edx, dword [0x44db94]
sub edx, 0x489df5a1
mov dword [0x44db94], edx
call fcn.0043d669
pop ecx
mov esi, dword [0x44db94]
xor esi, 0x88199b97
jmp 0x43f4c1
or esi, 0xf0c04381
mov cl, byte [esp + edi + 0x180]
add esi, 0x80e09ea6
mov eax, dword [esp + 0x74]
or esi, 0x3036ee37
movzx edx, cl
add eax, edx
mov dword [0x44db94], esi
movzx eax, al
mov dword [esp + 0x74], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edi + 0x180], al
mov eax, dword [esp + 0x74]
mov byte [esp + eax + 0x180], cl
movzx eax, byte [esp + edi + 0x180]
mov ecx, dword [esp + 0x3c]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + ecx + 0x48]
mov byte [esp + ecx + 0x400], al
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0x2c
jb 0x43f496
mov eax, dword [0x403468]
mov edx, 0x1922
mov dword [esp + 0xf4], eax
mov ax, word [0x40346c]
push 0x66
mov word [esp + 0xfc], ax
mov eax, 0x403480
mov byte [esp + 0x430], 0
mov dword [esp + 0x78], 0x31dccc55
mov word [esp + 0x7c], 0x1c80
pop ecx
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x38f
ja 0x43f5f8
movzx ecx, word [eax]
test ecx, ecx
jne 0x43f5dc
and esi, 0xb48cc9e7
jmp 0x43f612
push esi
mov edx, str.HostProcessExecutionStop
mov ecx, esi
call fcn.0043d5d1
pop ecx
sub esi, 0x1836c669
add esi, 0x8696af1c
xor esi, 0x458ce749
mov edx, str.HostProcessExecutionStop
push esi
mov ecx, esi
call fcn.0043d5d1
xor eax, eax
pop ecx
mov ecx, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x3c], ecx
mov edi, eax
mov edx, 0x403480
inc edi
lea edx, [edx + 2]
cmp edi, 0x1a80
jl 0x43f64f
cmp word [edx], ax
jne 0x43f63c
jmp 0x43f669
push esi
mov edx, str.HostProcessExecutionStop
mov ecx, esi
call fcn.0043d5d1
pop ecx
mov ecx, dword [esp + 0x3c]
or esi, 0x7e30ebfd
xor eax, eax
and esi, 0xa4d10511
mov byte [esp + ecx + 0x180], cl
or esi, 0x24900100
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0x100
jb 0x43f635
mov dword [esp + 0x20], esi
mov edi, eax
mov esi, dword [esp + 0x84]
xor edx, edx
mov cl, byte [esp + edi + 0x180]
mov eax, edi
mov byte [esp + 0xb], cl
div dword [esp + 0xdc]
movzx ecx, cl
movzx eax, byte [esp + edx + 0xf4]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [esp + esi + 0x180]
mov byte [esp + edi + 0x180], al
inc edi
mov al, byte [esp + 0xb]
mov byte [esp + esi + 0x180], al
cmp edi, 0x100
jb 0x43f696
mov esi, dword [esp + 0x20]
xor eax, eax
mov edx, eax
mov ecx, eax
mov edi, eax
lea eax, [ecx + 1]
mov ecx, 0x4034e0
movzx eax, al
mov dword [esp + 0xf4], eax
push 0x76
mov al, byte [esp + eax + 0x184]
mov byte [esp + 0xf], al
movzx eax, al
mov dword [esp + 0x40], eax
add eax, edx
movzx eax, al
mov dword [esp + 0x88], eax
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43f739
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43f71f
jmp 0x43f73f
xor esi, 0x2f1095dd
imul esi, esi, 0x98a494a1
mov edx, str.HostProcessExecutionStop
push esi
mov ecx, esi
call fcn.0043d5d1
mov edx, dword [esp + 0x88]
pop ecx
mov ecx, dword [esp + 0xf4]
mov al, byte [esp + edx + 0x180]
mov byte [esp + ecx + 0x180], al
mov al, byte [esp + 0xb]
mov byte [esp + edx + 0x180], al
movzx eax, byte [esp + ecx + 0x180]
add eax, dword [esp + 0x3c]
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + edi + 0x74]
mov byte [esp + edi + 0x170], al
inc edi
cmp edi, 6
jb 0x43f6ec
mov dword [esp + 0xc], 0x3f
xorps xmm1, xmm1
mov dword [esp + 0x10], 2
xor eax, eax
mov dword [esp + 0x14], 0x43
mov edx, eax
mov dword [esp + 0x18], 0xffffff7c
movups xmm0, xmmword [esp + 0xc]
push 0x40
pop ecx
psubd xmm1, xmm0
mov dword [esp + 0x14], ecx
movaps xmm0, xmm1
mov dword [esp + 0x18], ecx
psrldq xmm0, 8
mov ecx, eax
paddd xmm1, xmm0
mov byte [esp + 0x176], al
movups xmm0, xmm1
mov dword [esp + 0xc], 0x10
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [esp + 0x10], 0x52
push 5
movd dword [esp + 0x88], xmm1
mov dword [esp + 0x20], 0xffffff1e
pop edi
sub edx, dword [esp + ecx*4 + 0xc]
inc ecx
cmp ecx, edi
jl 0x43f825
mov dword [esp + 0xf4], edx
mov edi, eax
mov dword [esp + 0xc], 0x50
mov dword [esp + 0x10], 0x45
mov dword [esp + 0x14], 0xffffff18
mov edx, eax
mov ecx, 0x403480
inc edx
lea ecx, [ecx + 2]
cmp edx, 0x1415
je 0x43f869
cmp word [ecx], ax
jne 0x43f856
jmp 0x43f86f
or esi, 0x214b5cf1
add esi, 0xd57ba43c
mov edx, str.HostProcessExecutionStop
or esi, 0x95c3012b
push esi
mov ecx, esi
call fcn.0043d5d1
mov eax, dword [esp + 0x3c]
add eax, dword [esp + edi*4 + 0x10]
inc edi
mov dword [esp + 0x3c], eax
pop ecx
push 0
pop eax
cmp edi, 3
jl 0x43f84f
mov eax, dword [esp + 0x2ec]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x280]
cmp dword [ebp + 8], eax
jne 0x43f967
lea eax, [esi + 0x500c0340]
mov dword [esp + 0xc], 0x23
push 0x30
mov dword [0x44db94], eax
xor eax, eax
pop esi
mov dword [esp + 0x10], 0x1d
mov dword [esp + 0x14], 0xffffff91
add esi, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43f8e4
mov ecx, dword [ebp + 0xc]
call fcn.0042027c
neg esi
mov dword [esp + 0xe0], eax
cmp eax, esi
jne 0x43f961
push 0x12
pop eax
mov dword [esp + 0xe4], eax
xorps xmm1, xmm1
mov dword [esp + 0xe8], 0x2e
mov dword [esp + 0xec], 0x15
mov dword [esp + 0xf0], 0xffffffd2
movups xmm0, xmmword [esp + 0xe4]
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x2a
jmp 0x4406f5
mov esi, dword [0x44db94]
push 0x76
mov ecx, 0x4034e0
pop edx
lea eax, [edx - 0x30]
push 9
pop edx
cmp ax, dx
ja 0x43f989
add ecx, 2
movzx eax, word [ecx]
mov edx, eax
test ax, ax
jne 0x43f96f
jmp 0x43f98f
sub esi, 0x30a8b158
imul ecx, esi, 0x3a7996ed
mov esi, str.HostProcessExecutionStop
mov edx, esi
push ecx
mov dword [0x44db94], ecx
call fcn.0043d5d1
mov eax, dword [esp + 0x138]
push 0x10
push dword [esp + 0x28c]
mov dword [esp + 0x144], eax
lea eax, [esp + 0xf0]
push eax
call fcn.004360de
mov al, byte [str.HostProcessExecutionStop]
add esp, 0x10
mov ecx, esi
test al, al
je 0x43f9ee
push 9
pop edx
sub al, 0x30
cmp al, dl
ja 0x43fa81
inc ecx
mov al, byte [ecx]
test al, al
jne 0x43f9dd
mov ecx, dword [0x44db94]
or ecx, 0x234d6242
mov edx, esi
push ecx
mov dword [0x44db94], ecx
call fcn.0043d5d1
push 0x48
push dword [esp + 0x290]
lea eax, [esp + 0x32c]
push eax
call fcn.004360de
add esp, 0x10
lea eax, [esp + 0x138]
lea ecx, [esp + 0x2f0]
push eax
push dword [esp + 0x290]
push dword [esp + 0x298]
push dword [esp + 0x2a0]
call fcn.0041e657
mov edx, eax
lea ecx, [esp + 0x440]
call fcn.0041e636
call eax
push 0x66
mov esi, 0x403480
mov edx, 0x1d99
pop edi
mov eax, esi
mov ecx, edi
add edx, ecx
lea eax, [eax + 2]
cmp edx, 0x256b
ja 0x43fa92
movzx ecx, word [eax]
test ecx, ecx
jne 0x43fa6b
jmp 0x43faac
mov ecx, dword [0x44db94]
and ecx, 0xa7c6e4f
jmp 0x43f9f4
imul eax, dword [0x44db94], 0xb146a7c7
push str.HostProcessExecutionStop
mov dword [0x44db94], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edx, dword [0x44db94]
add edx, 0xd7a6e6e4
and edx, 0xd03a963f
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
pop ecx
mov ecx, dword [esp + 0x138]
call fcn.0041e51b
lea ecx, [esp + 0x138]
mov dword [esp + 0x364], eax
push ecx
push dword [esp + 0x29c]
lea ecx, [esp + 0x318]
push dword [esp + 0x144]
push eax
call fcn.0041e657
mov edx, eax
lea ecx, [esp + 0x488]
call fcn.0041e636
call eax
mov edx, dword [esp + 0x2e8]
xor eax, eax
push dword [esp + 0x2e4]
xor ecx, ecx
bts eax, edx
push dword [esp + 0x2e4]
cmp edx, 0x20
push 8
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
mov dword [esp + 0x324], eax
cmovae ecx, eax
lea eax, [esp + 0x324]
push eax
mov eax, dword [esp + 0x2ec]
cmp eax, dword [esp + 0x2e4]
mov eax, dword [esp + 0x188]
cmovne eax, dword [esp + 0x16c]
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp + 0x174]
cmp ecx, dword [esp + 0x178]
mov ecx, dword [esp + 0x150]
cmovne ecx, dword [esp + 0x154]
or eax, ecx
mov ecx, dword [esp + 0x158]
cmp ecx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
cmovne ecx, dword [esp + 0x164]
or eax, ecx
mov ecx, dword [esp + 0x168]
and ecx, 7
or eax, ecx
lea ecx, [esp + 0x318]
push eax
push dword [esp + 0x58]
push dword [esp + 0x37c]
call fcn.0041e657
mov edx, eax
lea ecx, [esp + 0x3bc]
call fcn.0041e636
call eax
mov eax, dword [esp + 0xcc]
cmp dword [ebp + 8], eax
jne 0x4403ec
mov esi, 0x401f28
mov dword [esp + 0x108], 0xadf32f27
lea edi, [esp + 0xcc]
mov dword [esp + 0x10c], 0xd2e316a4
push 0x3c
pop eax
movsd dword es:[edi], dword [esi]
mov byte [esp + 0x11f], al
mov byte [esp + 0x121], al
xor eax, eax
mov dword [esp + 0x110], 0x33d7a28
mov ecx, eax
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x114], 0x4b7f33d5
mov dword [esp + 0x118], 0x54fa8fba
mov word [esp + 0x11c], 0x59ca
movsw word es:[edi], word [esi]
mov byte [esp + 0x11e], 0xf7
mov edi, eax
mov byte [esp + 0x120], 0xbe
mov dword [esp + 0x122], 0xc29ec2ab
mov dword [esp + 0x126], 0xb0a690a4
mov dword [esp + 0x12a], 0x54d60c4c
mov dword [esp + 0x12e], 0x4ca1ca1b
mov word [esp + 0x132], 0x978c
mov byte [esp + ecx + 0x180], cl
inc ecx
cmp ecx, 0x100
jb 0x43fca0
mov esi, eax
xor edx, edx
mov cl, byte [esp + esi + 0x180]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0xd8]
movzx ecx, cl
movzx eax, byte [esp + edx + 0xcc]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x180]
mov byte [esp + esi + 0x180], al
inc esi
mov al, byte [esp + 0xb]
mov byte [esp + edi + 0x180], al
cmp esi, 0x100
jb 0x43fcb2
xor eax, eax
mov dword [esp + 0x44], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [esp + 0x44]
mov cl, byte [esp + edi + 0x180]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x44], eax
mov al, byte [esp + eax + 0x180]
mov byte [esp + edi + 0x180], al
mov eax, dword [esp + 0x44]
mov byte [esp + eax + 0x180], cl
movzx eax, byte [esp + edi + 0x180]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x180]
xor al, byte [esp + esi + 0x108]
mov byte [esp + esi + 0x88], al
inc esi
cmp esi, 0x2c
jb 0x43fd06
mov ecx, dword [0x44db94]
lea edi, [esp + 0x74]
mov esi, 0x403470
mov dword [esp + 0xcc], 0xaa354279
xor eax, eax
mov word [esp + 0xd0], 0xbe18
mov byte [esp + 0xb4], al
or ecx, 0xeb639d86
mov dword [esp + 0x3c], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, eax
mov al, byte [str.HostProcessExecutionStop]
mov edx, str.HostProcessExecutionStop
jmp 0x43fdb7
sub al, 0x30
cmp al, 9
ja 0x43fdbd
inc edx
mov al, byte [edx]
test al, al
jne 0x43fdae
jmp 0x43fdc3
and ecx, 0x4558facc
imul edx, ecx, 0x826acf36
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
mov edx, dword [esp + 0x40]
pop ecx
mov byte [esp + edx + 0x4c0], dl
inc edx
mov dword [esp + 0x3c], edx
cmp edx, 0x100
jae 0x43fdf6
mov ecx, dword [0x44db94]
jmp 0x43fda2
xor esi, esi
xor edx, edx
mov cl, byte [esp + esi + 0x4c0]
mov eax, esi
mov byte [esp + 0xb], cl
div dword [esp + 0x80]
movzx ecx, cl
movzx eax, byte [esp + edx + 0x74]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [esp + edi + 0x4c0]
mov byte [esp + esi + 0x4c0], al
inc esi
mov al, byte [esp + 0xb]
mov byte [esp + edi + 0x4c0], al
cmp esi, 0x100
jb 0x43fdf8
xor eax, eax
mov dword [esp + 0x44], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [esp + 0x44]
mov cl, byte [esp + edi + 0x4c0]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [esp + 0x44], eax
mov al, byte [esp + eax + 0x4c0]
mov byte [esp + edi + 0x4c0], al
mov eax, dword [esp + 0x44]
mov byte [esp + eax + 0x4c0], cl
movzx eax, byte [esp + edi + 0x4c0]
add eax, edx
movzx eax, al
mov al, byte [esp + eax + 0x4c0]
xor al, byte [esp + esi + 0xcc]
mov byte [esp + esi + 0x178], al
inc esi
cmp esi, 6
jb 0x43fe49
push 0x45
pop edx
push 9
pop eax
xor ecx, ecx
mov dword [esp + 0xc], eax
mov byte [esp + 0x17e], cl
mov eax, ecx
mov dword [esp + 0x10], 0x36
mov dword [esp + 0x14], 0xffffff7c
add edx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x43fecc
push 0x56
mov dword [esp + 0x160], edx
mov eax, ecx
mov dword [esp + 0xd0], 0x45
mov dword [esp + 0xd4], 0xffffff65
pop edx
add edx, dword [esp + eax*4 + 0xcc]
inc eax
cmp eax, 2
jl 0x43fef8
push 0x76
mov dword [esp + 0x16c], edx
mov edi, ecx
mov dword [esp + 0x4c], 0x4f
mov edx, 0x4034e0
mov dword [esp + 0x50], 0x60
mov dword [esp + 0x54], 8
mov dword [esp + 0x58], 0x24
mov dword [esp + 0x5c], 0xffffff25
pop esi
lea eax, [esi - 0x30]
cmp ax, word [esp + 0xd8]
ja 0x43ff60
add edx, 2
movzx eax, word [edx]
mov esi, eax
test ax, ax
jne 0x43ff3e
mov edx, dword [0x44db94]
jmp 0x43ff6c
mov edx, dword [0x44db94]
add edx, 0x6cd0f78f
push 5
add edx, 0x1b8beb5c
mov eax, ecx
pop esi
sub edi, dword [esp + eax*4 + 0x48]
inc eax
cmp eax, esi
jl 0x43ff77
push 0x29
pop eax
mov dword [esp + 0x164], edi
mov esi, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], 0x2b
mov dword [esp + 0x10], 0x43
mov dword [esp + 0x14], 0x52
mov dword [esp + 0x18], 0xff17
mov edi, ecx
mov eax, 0x4034e0
inc edi
lea eax, [eax + 2]
cmp edi, 0x25ab
jg 0x43ffca
cmp word [eax], cx
jne 0x43ffb7
jmp 0x43ffd0
imul edx, edx, 0xba30e9c0
xor edx, 0x100007
or edx, 0x7ea667b8
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
mov eax, dword [esp + 0x48]
add eax, dword [esp + esi*4 + 0x10]
inc esi
mov edx, dword [0x44db94]
mov dword [esp + 0x48], eax
pop ecx
cmp esi, 4
jge 0x440005
xor ecx, ecx
jmp 0x43ffb0
mov dword [esp + 0xc], 0x47
xorps xmm2, xmm2
mov dword [esp + 0x10], 0x22
mov dword [esp + 0x14], 8
mov dword [esp + 0x18], 0xffffff50
movups xmm1, xmmword [esp + 0xc]
push 0x12
pop eax
movaps xmm0, xmm1
mov dword [esp + 0xc], eax
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x10], 0x10
movups xmm0, xmm1
mov dword [esp + 0x14], 0xffffffe9
psrldq xmm0, 4
paddd xmm1, xmm0
movd edi, xmm1
push 0xc
pop esi
add edi, 0x3f
xor eax, eax
mov dword [esp + 0xcc], edi
mov ecx, eax
sub esi, dword [esp + ecx*4 + 0xc]
and edx, 0x2af0855c
inc ecx
cmp ecx, 3
jl 0x440071
mov dword [esp + 0xc], 0x35
movaps xmm1, xmm2
mov dword [esp + 0x10], 0x45
mov ecx, eax
mov dword [esp + 0x14], 0x1c
mov dword [esp + 0x18], 0xffffff6a
movups xmm0, xmmword [esp + 0xc]
push 0x4e
mov dword [esp + 0x14c], esi
psubd xmm1, xmm0
mov dword [esp + 0x10], 8
movaps xmm0, xmm1
mov dword [esp + 0x14], 0x37
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x18], 0x1ff73
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd dword [esp + 0x148], xmm1
pop esi
add esi, dword [esp + ecx*4 + 0xc]
inc ecx
cmp ecx, 3
jl 0x4400f2
push 9
pop ecx
lea eax, [edi - 0x30]
cmp ax, cx
ja 0x44040b
add esi, 2
movzx eax, word [esi]
mov edi, eax
test ax, ax
jne 0x4403ef
mov eax, dword [0x44db94]
jmp 0x440415
mov eax, dword [0x44db94]
sub eax, 0x393a62ec
imul edx, eax, 0x4aa2ff60
push ecx
mov dword [0x44db94], edx
call fcn.0043d669
mov eax, dword [esp + 0x2c0]
or eax, 0x80000
mov dword [esp + 0x324], 0x48
pop ecx
mov dword [esp + 0x34c], eax
lea ecx, [esp + 0x2f8]
mov eax, dword [esp + 0x29c]
mov word [esp + 0x350], ax
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x324]
push eax
push dword [esp + 0x2a8]
mov eax, dword [esp + 0x2b4]
push dword [esp + 0x2b0]
or eax, dword [esp + 0x2bc]
or eax, 0x8080000
push eax
mov eax, dword [esp + 0x54]
push eax
push dword [esp + 0x2c8]
push dword [esp + 0x2d0]
push dword [esp + 0x2d8]
push dword [esp + 0x184]
call fcn.0041e657
mov edx, eax
lea ecx, [esp + 0x394]
call fcn.0041e636
call eax
test eax, eax
jne 0x440575
mov ecx, dword [0x44db94]
mov dword [esp + 0xc], 0x37
mov dword [esp + 0x10], 0x1b
mov dword [esp + 0x14], 0x14
mov dword [esp + 0x18], 0xffffff56
movups xmm1, xmmword [esp + 0xc]
push 0xf
pop eax
movaps xmm0, xmm1
mov dword [esp + 0xc], eax
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [esp + 0x10], eax
movups xmm0, xmm1
mov dword [esp + 0x14], 0xffffffd7
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
push 0x10
pop edx
add esi, 0x45
xor eax, eax
add edx, dword [esp + eax*4 + 0xc]
xor ecx, 0x4d4c3a75
inc eax
cmp eax, 3
jl 0x44052e
mov dword [0x44db94], ecx
mov ecx, dword [esp + 0x364]
mov dword [esp + 0x160], edx
call fcn.0041e600
cmp dword [ebp + 8], esi
jne 0x440569
push dword [esp + 0xe0]
call fcn.0044c79f
pop ecx
mov eax, dword [esp + 0x160]
jmp 0x4406f5
push dword [esp + 0x364]
lea ecx, [esp + 0x304]
call fcn.0041e657
mov edx, eax
lea ecx, [esp + 0x3d4]
call fcn.0041e636
call eax
mov ecx, dword [esp + 0x364]
call fcn.0041e600
mov eax, dword [esp + 0x2d0]
cmp dword [ebp + 8], eax
jne 0x4405bd
push dword [esp + 0xe0]
call fcn.0044c79f
pop ecx
push dword [esp + 0x2c0]
sub dword [0x44db94], 0x288478b7
lea eax, [esp + 0x38c]
push 0x18
push eax
push 0
push dword [esp + 0xf4]
call fcn.0044c781
lea eax, [esp + 0x2dc]
push eax
push 4
lea eax, [esp + 0x2e0]
push eax
mov eax, dword [esp + 0x3ac]
add eax, dword [esp + 0x44]
push eax
push dword [esp + 0x108]
call fcn.0044c763
mov edi, dword [esp + 0x2ec]
lea eax, [esp + 0x2f0]
push eax
push 0x200
lea eax, [esp + 0x5f0]
push eax
push edi
push dword [esp + 0x11c]
call fcn.0044c763
mov eax, dword [esp + 0x638]
add esp, 0x3c
mov esi, dword [esp + eax + 0x5e8]
add esi, edi
mov edi, dword [esp + 0x2cc]
mov ecx, edi
call fcn.004369c6
mov edx, eax
call fcn.0040c1fb
push dword [esp + 0x84]
lea ecx, [esp + 0x174]
push eax
push edi
push esi
push dword [esp + 0xf4]
call fcn.0041e657
mov edx, eax
lea ecx, [esp + 0x414]
call fcn.0041e636
call eax
push dword [esp + 0xf4]
push dword [esp + 0xec]
call fcn.0044c745
pop ecx
pop ecx
cmp eax, dword [esp + 0x38]
je 0x4406d4
push 0x3b
mov dword [esp + 0x10], 0x23
xor eax, eax
mov dword [esp + 0x14], 0x63
mov dword [esp + 0x18], 0xffffff4a
pop ecx
add ecx, dword [esp + eax*4 + 0xc]
inc eax
cmp eax, 3
jl 0x4406c6
mov eax, ecx
jmp 0x4406f5
push dword [esp + 0xe4]
call fcn.0044c79f
push dword [esp + 0xec]
call fcn.0044c79f
mov eax, dword [esp + 0x2e0]
pop ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret