Function at 0x43f5d3
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using rc4 ksa
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x484
xor eax, eax
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x124], ecx
mov edx, eax
mov dword [ebp - 0x58], 0x60
mov ecx, eax
mov dword [ebp - 0x54], 4
mov dword [ebp - 0x50], 0xffffff9c
sub edx, dword [ebp + ecx*4 - 0x58]
inc ecx
cmp ecx, 3
jl 0x43f603
push esi
push edi
push 7
pop ecx
mov dword [ebp - 0xc4], ecx
mov edi, eax
mov byte [ebp - 0x1f], cl
push 5
pop ecx
mov dword [ebp - 0x11c], edx
mov edx, dword [0x44ba30]
mov dword [ebp - 0x118], ecx
add edx, 0x68557fe8
mov byte [ebp - 0x13], cl
mov ecx, eax
mov byte [ebp - 0x20], 0x3f
mov dword [ebp - 0x1e], 0xd1556b93
mov dword [ebp - 0x1a], 0x78e571fa
mov word [ebp - 0x16], 0xb8a8
mov byte [ebp - 0x14], 0x77
mov dword [ebp - 0x12], 0x524d37d3
mov dword [ebp - 0xe], 0x199687ff
mov word [ebp - 0xa], 0xbea7
mov dword [ebp - 0x54], 0x6c206f6e
mov dword [ebp - 0x50], 0x6b6e69
mov byte [ebp + ecx - 0x290], cl
inc ecx
cmp ecx, 0x100
jb 0x43f67b
imul esi, edx, 0x61fddf1e
mov dword [ebp - 0x24], esi
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x290]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0xc4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x54]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x290], al
cmp esi, 0x100
jb 0x43f696
xor edi, edi
mov dword [ebp - 8], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x290], cl
movzx eax, byte [ebp + esi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0x20]
mov byte [ebp + edi - 0x2e4], al
inc edi
cmp edi, 0x18
jb 0x43f6e1
xor eax, eax
mov dword [ebp - 0x1c], 0x4a
push 5
mov byte [ebp - 0x2cc], al
mov edx, eax
mov dword [ebp - 0x18], 0x21
mov ecx, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x10], 0x5d
mov dword [ebp - 0xc], 0xffffff19
pop esi
sub edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, esi
jl 0x43f76b
mov ecx, esi
mov dword [ebp - 0x104], edx
mov esi, 0x401cb8
mov dword [ebp - 0x64], 0x829e859b
lea edi, [ebp - 0x20]
mov dword [ebp - 0x60], 0x3f42c870
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x5c], 0xbb1d18ff
mov ecx, eax
mov dword [ebp - 0x58], 0x8296b072
mov dword [ebp - 0x54], 0x2402ee8b
movsw word es:[edi], word [esi]
mov dword [ebp - 0x50], 0x11de9eea
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebp + ecx - 0x290], cl
inc ecx
cmp ecx, 0x100
jb 0x43f7b7
mov esi, eax
mov dword [ebp - 0xc4], 0x16
xor edx, edx
mov cl, byte [ebp + esi - 0x290]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0xc4]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x20]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x290], al
cmp esi, 0x100
jb 0x43f7d3
xor edi, edi
mov dword [ebp - 8], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x290], cl
movzx eax, byte [ebp + esi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0x64]
mov byte [ebp + edi - 0xf0], al
inc edi
cmp edi, 0x18
jb 0x43f81e
xor eax, eax
mov dword [ebp - 0x54], 0x52
push 0x55
pop edi
mov byte [ebp - 0xd8], al
mov edx, eax
mov dword [ebp - 0x58], edi
mov ecx, eax
mov dword [ebp - 0x50], 0xffffff59
sub edx, dword [ebp + ecx*4 - 0x58]
inc ecx
cmp ecx, 3
jl 0x43f896
mov ecx, dword [ebp - 0x24]
push 0x29
mov dword [ebp - 0x108], edx
sub ecx, 0x139dea10
pop esi
mov dword [ebp - 0x58], 4
mov edx, eax
mov dword [ebp - 0x54], 0x3f
mov dword [ebp - 0x50], 0xffffff94
add esi, dword [ebp + edx*4 - 0x58]
inc edx
cmp edx, 3
jl 0x43f8c9
mov dword [ebp - 0x18], 0x61
and ecx, 0xd3c9c794
mov dword [ebp - 0x14], 0x20
xorps xmm2, xmm2
mov dword [ebp - 0x10], 0x50
mov dword [ebp - 0xc], 0xfffffeee
movups xmm1, xmmword [ebp - 0x18]
push 5
mov dword [ebp - 0x174], esi
mov esi, eax
movaps xmm0, xmm1
mov dword [ebp - 0x18], edi
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x4b
movups xmm0, xmm1
mov dword [ebp - 0x14], 6
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x10], 0x1f
movd edx, xmm1
mov dword [ebp - 0xc], 0xffffff3b
pop edi
add edx, 0x41
mov dword [ebp - 0x110], edx
mov edx, eax
sub esi, dword [ebp + edx*4 - 0x1c]
inc edx
cmp edx, edi
jl 0x43f94d
mov al, byte [0x44ba80]
mov edx, 0x44ba80
push 3
mov dword [ebp - 0x114], esi
pop edi
mov esi, edx
test al, al
je 0x43f98d
mov dl, al
sub dl, 0x30
cmp dl, 9
ja 0x43f982
inc esi
mov dl, byte [esi]
test dl, dl
jne 0x43f971
jmp 0x43f988
sub ecx, 0x63ca5314
mov edx, 0x44ba80
sub ecx, 0x244fced4
sub edi, 1
jne 0x43f969
push 0x23
pop edx
mov dword [ebp - 0x18], edx
movaps xmm1, xmm2
mov dword [ebp - 0x14], 0x27
mov dword [ebp - 0x10], 0xd
mov dword [ebp - 0xc], 0x7b
movups xmm0, xmmword [ebp - 0x18]
push 0x4c
mov dword [ebp - 0x58], edx
paddd xmm1, xmm0
mov dword [ebp - 0x54], 0xb
movaps xmm0, xmm1
mov dword [ebp - 0x50], 0x8a
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
pop esi
add eax, 0x32
mov dword [ebp - 0x180], eax
xor eax, eax
mov edx, eax
add esi, dword [ebp + edx*4 - 0x58]
inc edx
cmp edx, 3
jl 0x43f9fb
mov dword [ebp - 0x184], esi
mov edx, eax
inc edx
cmp edx, 0x14ca
je 0x43fa20
cmp byte [edx + 0x403fa0], al
jne 0x43fa0d
jmp 0x43fa26
xor ecx, 0x88c01b65
mov dword [ebp - 0x18], 0xa
xor ecx, 0xffdf7fff
mov dword [ebp - 0x14], 0x29
and ecx, 0x10a080a0
mov dword [ebp - 0x10], 0x14
mov dword [ebp - 0xc], 0x9b
movups xmm1, xmmword [ebp - 0x18]
mov dword [ebp - 0x54], 0x19
mov dword [ebp - 0x50], 0x378
paddd xmm1, xmm2
mov dword [ebp - 0x5c], 0x13
movaps xmm0, xmm1
mov dword [ebp - 0x58], 0x34
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edx, xmm1
movups xmm1, xmmword [ebp - 0x5c]
push 0x55
add edx, 0x22
mov dword [ebp - 0x54], 0x14
paddd xmm1, xmm2
mov dword [ebp - 0x188], edx
movaps xmm0, xmm1
mov dword [ebp - 0x50], 0xffffff9c
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edx, xmm1
pop edi
mov esi, edi
add edx, 0x28
mov dword [ebp - 0x10c], edx
mov edx, eax
add esi, dword [ebp + edx*4 - 0x54]
inc edx
cmp edx, 2
jl 0x43fad9
push 5
mov dword [ebp - 0x12c], esi
or ecx, 0xc6be4337
mov dword [ebp - 0x5c], edi
mov esi, 0x2400
mov dword [ebp - 0x54], edi
mov edx, eax
mov dword [ebp - 0x60], 4
mov dword [ebp - 0x58], 0x1d
mov dword [ebp - 0x50], 0x1f35
pop edi
sub esi, dword [ebp + edx*4 - 0x60]
inc edx
cmp edx, edi
jl 0x43fb14
mov dword [ebp - 0x5c], 0x42
lea edi, [ebp - 0x58]
mov dword [ebp - 0x58], 0xe
movaps xmm1, xmm2
mov dword [ebp - 0x54], 0x24
mov dword [ebp - 0x50], 0x345
movups xmm0, xmmword [ebp - 0x5c]
mov dword [ebp - 0x128], esi
mov esi, 0x402d34
push 0x1b
paddd xmm1, xmm0
mov byte [ebp - 0xa8], 0x27
movaps xmm0, xmm1
mov dword [ebp - 0xa6], 0xd5d1669b
psrldq xmm0, 8
paddd xmm1, xmm0
movsd dword es:[edi], dword [esi]
movups xmm0, xmm1
mov dword [ebp - 0xa2], 0xf942b00b
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x9e], 0x1214f73f
movsd dword es:[edi], dword [esi]
movd edx, xmm1
mov dword [ebp - 0xc4], 0x12
mov dword [ebp - 0x9a], 0xeb19b54b
add edx, 0x47
movsw word es:[edi], word [esi]
mov dword [ebp - 0x190], edx
pop edx
mov byte [ebp - 0xa7], dl
movsb byte es:[edi], byte [esi]
mov byte [ebp - 0x78], dl
mov edi, eax
mov dword [ebp - 0x96], 0x5416e22d
mov edx, eax
mov dword [ebp - 0x4c], 0xf
mov dword [ebp - 0x92], 0x6020500f
mov dword [ebp - 0x8e], 0xfdeba8c6
mov dword [ebp - 0x8a], 0xcee35b8e
mov dword [ebp - 0x86], 0x12b4a1ce
mov dword [ebp - 0x82], 0xe814c0ed
mov dword [ebp - 0x7e], 0xa02ffa44
mov word [ebp - 0x7a], 0x810a
mov dword [ebp - 0x77], 0x239970aa
mov dword [ebp - 0x73], 0x6f9ad41e
mov dword [ebp - 0x6f], 0x6466dadf
mov word [ebp - 0x6b], 0x7abf
mov byte [ebp - 0x69], 0x3e
imul ecx, ecx, 0x15b7773c
mov byte [ebp + edx - 0x290], dl
inc edx
cmp edx, 0x100
jb 0x43fc34
mov dword [ebp - 0x24], ecx
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x290]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x18]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x290], al
cmp esi, 0x100
jb 0x43fc4f
mov esi, dword [ebp - 0x24]
xor edi, edi
mov dword [ebp - 8], edi
mov eax, edi
inc eax
or esi, 0x33a02e03
movzx eax, al
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x2c]
mov cl, byte [ebp + eax - 0x290]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x290], cl
mov eax, esi
mov esi, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0xa8]
mov byte [ebp + edi - 0x328], al
inc edi
mov eax, dword [ebp - 0x2c]
cmp edi, 0x40
jb 0x43fc9a
push 0x1b
pop eax
mov byte [ebp - 0x44], al
xor ecx, ecx
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x3b], al
mov eax, dword [0x403d00]
mov dword [ebp - 0x54], eax
mov ax, word [0x403d04]
mov word [ebp - 0x50], ax
mov eax, ecx
mov byte [ebp - 0x2e8], cl
mov dword [ebp - 0x48], 0xb84fc039
mov dword [ebp - 0x43], 0x6854a4be
mov dword [ebp - 0x3f], 0xcdd60df8
mov dword [ebp - 0x3a], 0x7bed11a5
mov dword [ebp - 0x36], 0xefe1544b
mov word [ebp - 0x32], 0x17a7
mov dword [ebp - 0x30], ecx
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x43fd5e
mov edi, ecx
xor edx, edx
mov cl, byte [ebp + edi - 0x290]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x118]
movzx ecx, cl
add esi, 0x95d53bf8
movzx eax, byte [ebp + edx - 0x54]
add eax, dword [ebp - 0x30]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x30], ecx
mov al, byte [ebp + ecx - 0x290]
mov byte [ebp + edi - 0x290], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x290], al
cmp edi, 0x100
jb 0x43fd6f
xor edi, edi
mov dword [ebp - 8], edi
mov eax, edi
inc eax
or esi, 0x552bafa5
movzx eax, al
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x24], esi
mov dword [0x44ba30], esi
mov cl, byte [ebp + eax - 0x290]
mov eax, dword [ebp - 8]
mov esi, dword [ebp - 0x2c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x290], cl
mov eax, esi
mov esi, dword [ebp - 0x24]
movzx eax, byte [ebp + eax - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0x48]
mov byte [ebp + edi - 0x2ac], al
inc edi
mov eax, dword [ebp - 0x2c]
cmp edi, 0x18
jb 0x43fdc4
mov esi, 0x403d08
mov dword [ebp - 0x2c], 0x40644740
lea edi, [ebp - 0x58]
xor eax, eax
or dword [ebp - 0x24], 0xaff67d3e
mov ecx, eax
mov byte [ebp - 0x294], al
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 byte [ebp + ecx - 0x290], cl
inc ecx
cmp ecx, 0x100
jb 0x43fe5c
mov edi, eax
mov esi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x290]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x18]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x58]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x290]
mov byte [ebp + edi - 0x290], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x290], al
cmp edi, 0x100
jb 0x43fe70
mov esi, dword [ebp - 0x24]
mov ecx, 0x403ee4
mov al, 0x62
sub al, 0x30
cmp al, 9
ja 0x43feca
inc ecx
mov al, byte [ecx]
test al, al
jne 0x43febb
jmp 0x43fed0
add esi, 0x248dbd8d
call fcn.0043f32c
xor edi, edi
add esi, 0xa48c3e81
mov dword [ebp - 8], edi
mov eax, edi
inc eax
imul esi, esi, 0x4408a6ac
movzx eax, al
mov dword [ebp - 0x24], eax
mov cl, byte [ebp + eax - 0x290]
mov eax, dword [ebp - 8]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x24]
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + edx - 0x290], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x290], cl
mov eax, edx
movzx eax, byte [ebp + eax - 0x290]
add eax, dword [ebp - 0x30]
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0x2c]
mov byte [ebp + edi - 0x54], al
inc edi
mov eax, edx
cmp edi, 4
jb 0x43fee2
mov ecx, 0x403fa0
mov al, 0x6f
sub al, 0x30
cmp al, 9
ja 0x43ff5f
inc ecx
mov al, byte [ecx]
test al, al
jne 0x43ff50
jmp 0x43ff65
sub esi, 0x40f38e8b
xor esi, 0x675d759e
mov dword [ebp - 0x38], 0x5c
xor eax, eax
mov dword [ebp - 0x28], esi
push 0x28
mov byte [ebp - 0x50], al
mov ecx, eax
pop edx
mov dword [ebp - 0x34], 0xffffff7c
add edx, dword [ebp + ecx*4 - 0x38]
inc ecx
cmp ecx, 2
jl 0x43ff86
mov ecx, dword [ebp - 0xc4]
lea edi, [ebp - 0x18]
mov esi, 0x4036cc
mov byte [ebp - 0x9c], cl
mov dword [ebp - 0x130], edx
mov ecx, eax
mov dword [ebp - 0xc0], 0x8fec977c
mov dword [ebp - 0xbc], 0x3ab4fa8c
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xb8], 0x5c19af42
mov dword [ebp - 0xb4], 0xaeeb6a76
mov dword [ebp - 0xb0], 0xd9f1e136
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xac], 0xe2cd382c
mov dword [ebp - 0xa8], 0x7c1d647e
mov dword [ebp - 0xa4], 0xcbcf2f01
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xa0], 0x50a4f1bc
mov dword [ebp - 0x9b], 0x24a46bb8
mov dword [ebp - 0x97], 0xf2eb76a3
mov dword [ebp - 0x93], 0xcf6b98f0
mov dword [ebp - 0x8f], 0x596dcc6f
mov dword [ebp - 0x8b], 0x6d0e08b
mov dword [ebp - 0x87], 0xcb375092
mov dword [ebp - 0x83], 0x48c47ae7
mov dword [ebp - 0x7f], 0x4e5bbbe2
mov dword [ebp - 0x7b], 0x7220c0bb
mov dword [ebp - 0x77], 0xaeed8b3c
mov dword [ebp - 0x73], 0xb07659b6
mov dword [ebp - 0x6f], 0x896db487
mov word [ebp - 0x6b], 0x3a4e
mov byte [ebp - 0x69], 0x1a
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x30], eax
mov byte [ebp + ecx - 0x290], cl
inc ecx
cmp ecx, 0x100
jb 0x440080
mov esi, dword [ebp - 0x28]
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x290]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x4c]
movzx ecx, cl
imul esi, esi, 0x80ba4910
movzx eax, byte [ebp + edx - 0x18]
add eax, dword [ebp - 0x30]
add ecx, eax
movzx ecx, cl
mov dword [ebp - 0x30], ecx
mov al, byte [ebp + ecx - 0x290]
mov byte [ebp + edi - 0x290], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x290], al
cmp edi, 0x100
jb 0x440095
xor edi, edi
mov edx, 0x56f
push 0x62
mov dword [ebp - 8], edi
mov eax, 0x403ee4
pop ecx
add edx, ecx
inc eax
cmp edx, 0x26af
ja 0x44010c
movsx ecx, byte [eax]
test ecx, ecx
jne 0x4400f2
or esi, 0x1a4962d6
jmp 0x44012a
call fcn.0043f32c
imul esi, esi, 0xd47d4a5f
push 0x403fb8
mov edx, esi
call fcn.0043f560
pop ecx
imul esi, esi, 0xe6bd6a90
imul eax, esi, 0xcb06523e
mov esi, edi
mov dword [ebp - 0x28], eax
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x290], cl
movzx eax, byte [ebp + esi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0xc0]
mov byte [ebp + edi - 0x484], al
inc edi
cmp edi, 0x58
jb 0x440135
push 0x11
xor eax, eax
mov dword [ebp - 0x38], 0x55
pop esi
mov byte [ebp - 0x42c], al
mov edx, esi
mov dword [ebp - 0x34], 0xffffff9b
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0x38]
inc ecx
cmp ecx, 2
jl 0x4401ad
push 0x16
pop ecx
push 0x60
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x38], ecx
mov ecx, eax
mov dword [ebp - 0x34], 0xffffff8a
pop edx
add edx, dword [ebp + ecx*4 - 0x38]
inc ecx
cmp ecx, 2
jl 0x4401cf
imul edi, dword [ebp - 0x28], 0x115e0930
mov ecx, eax
push 5
mov dword [ebp - 0xcc], edx
mov edx, 0x2c00
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], 0x2c
mov dword [ebp - 0x18], 0x28
mov dword [ebp - 0x10], 0xb
mov dword [ebp - 0xc], 0x2790
pop esi
sub edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, esi
jl 0x44020f
push 0x52
mov dword [ebp - 0xd4], edx
mov esi, eax
pop edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x38], 0x25
mov dword [ebp - 0x34], 0x189
cmp byte [0x44ba80], 0
mov ecx, eax
je 0x440261
inc ecx
cmp ecx, 0x23d9
jg 0x4403c6
cmp byte [ecx + 0x44ba80], 0
jne 0x44023f
cmp ecx, 0x11c4
jg 0x4403d9
imul ecx, edi, 0x89e2d61f
add edx, dword [ebp + esi*4 - 0x38]
imul edi, ecx, 0x86a3c5ab
inc esi
mov dword [ebp - 0x28], edx
cmp esi, 2
jl 0x440234
push 5
pop esi
mov edx, eax
mov dword [ebp - 0x1c], 0x3b
mov dword [ebp - 0x18], 0x3a
mov ecx, eax
mov dword [ebp - 0x14], 0x43
mov dword [ebp - 0x10], esi
mov dword [ebp - 0xc], 0xffffff43
sub edx, dword [ebp + ecx*4 - 0x1c]
inc ecx
cmp ecx, esi
jl 0x4402a0
push 0x1b
mov dword [ebp - 0x68], edx
mov ecx, eax
mov dword [ebp - 0x3c], 0x13
mov dword [ebp - 0x38], 0x20
mov dword [ebp - 0x34], 0xffffffb2
pop edx
add edx, dword [ebp + ecx*4 - 0x3c]
inc ecx
cmp ecx, 3
jl 0x4402c6
push 0x1d
mov dword [ebp - 0x13c], edx
movaps xmm1, xmm2
pop edx
push 0x16
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x10], 0x59
mov dword [ebp - 0xc], 0x58c
movups xmm0, xmmword [ebp - 0x18]
mov dword [ebp - 0x18], 0x5a
mov dword [ebp - 0x14], 0x3b
psubd xmm1, xmm0
mov dword [ebp - 0x10], edx
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0xffffff4e
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x1c], 0x14
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x18]
mov dword [ebp - 0x18], 0x25
movd ecx, xmm1
movaps xmm1, xmm2
psubd xmm1, xmm0
mov dword [ebp - 0x14], 0x34
movaps xmm0, xmm1
mov dword [ebp - 0x10], 0x1e
psrldq xmm0, 8
add ecx, 0x71c
paddd xmm1, xmm0
mov dword [ebp - 0x138], ecx
movups xmm0, xmm1
mov dword [ebp - 0xc], 0x99d
psrldq xmm0, 4
mov ecx, 0xb2c
paddd xmm1, xmm0
movd dword [ebp - 0x144], xmm1
sub ecx, dword [ebp + eax*4 - 0x1c]
inc eax
cmp eax, esi
jl 0x44038e
movzx eax, byte [0x44ba80]
mov dword [ebp - 0x140], ecx
mov ecx, 0x1dd8
test eax, eax
je 0x4403f4
mov edx, 0x44ba80
add ecx, eax
inc edx
cmp ecx, 0x14cf
ja 0x4403ee
movzx eax, byte [edx]
test eax, eax
jne 0x4403b2
jmp 0x4403f4
push 0x44ba80
mov edx, edi
call fcn.0043f560
pop ecx
xor edi, 0xa1085c
call fcn.0043f32c
mov edx, dword [ebp - 0x28]
imul ecx, edi, 0x87aed5b0
xor eax, eax
jmp 0x440267
sub edi, 0x65ac7e04
call fcn.0043f32c
push 0x11
pop edx
mov dword [ebp - 0x10], edx
lea ecx, [edi + 0x13a2a1ce]
mov dword [ebp - 0x18], 0x18
movaps xmm1, xmm2
mov dword [ebp - 0x14], 0x4c
or ecx, 0x28e0e55b
mov dword [ebp - 0xc], 0xffffff2a
xor ecx, 0x7c1fef48
movups xmm0, xmmword [ebp - 0x18]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], 0x3c
paddd xmm1, xmm0
mov dword [ebp - 0x10], 0x53
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x780
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x3c], 4
movups xmm0, xmm1
mov dword [ebp - 0x38], 0x30
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0xffffffcc
movups xmm0, xmmword [ebp - 0x18]
movd eax, xmm1
movaps xmm1, xmm2
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
add eax, 0x61
paddd xmm1, xmm0
mov dword [ebp - 0x14c], eax
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x924
mov dword [ebp - 0x148], eax
xor eax, eax
mov esi, eax
mov edx, eax
sub esi, dword [ebp + edx*4 - 0x3c]
inc edx
cmp edx, 3
jl 0x4404bb
mov dword [ebp - 0x15c], esi
mov edx, eax
xor esi, esi
mov dword [ebp - 0x3c], 0x32
mov dword [ebp - 0x38], 0x3b
inc esi
mov dword [ebp - 0x34], 0xffffff97
add esi, dword [ebp + edx*4 - 0x3c]
inc edx
cmp edx, 3
jl 0x4404e5
push 0x4d
mov dword [ebp - 0x158], esi
mov edi, 0x17ce
mov edx, 0x403fb8
pop esi
add edi, esi
inc edx
cmp edi, 0x425
ja 0x44051c
movsx esi, byte [edx]
test esi, esi
jne 0x440502
or ecx, 0x84169ad9
jmp 0x440537
imul ecx, ecx, 0x9566ce92
mov edx, ecx
mov dword [ebp - 8], ecx
call fcn.0043f457
mov ecx, dword [ebp - 8]
xor ecx, 0xf620a2be
xor eax, eax
push 0x2a
and ecx, 0x56333549
mov dword [ebp - 0x3c], 0x2c
pop esi
mov dword [ebp - 0x38], 0x45
mov edx, eax
mov dword [ebp - 0x34], 0x365
add esi, dword [ebp + edx*4 - 0x3c]
inc edx
cmp edx, 3
jl 0x440557
mov dword [ebp - 0x154], esi
lea edi, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x10
mov esi, 0x402618
mov dword [ebp - 0x14], 0x2e
movaps xmm1, xmm2
mov dword [ebp - 0x10], 0x1d
mov dword [ebp - 0xc], 0x1fa5
movups xmm0, xmmword [ebp - 0x18]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x48], 0xc32fe94a
psubd xmm1, xmm0
mov dword [ebp - 0x44], 0x977676bc
movaps xmm0, xmm1
mov dword [ebp - 0x40], 0x34cd68e3
movsd dword es:[edi], dword [esi]
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x3c], 0x51eb2202
movups xmm0, xmm1
mov dword [ebp - 0x38], 0x73b87615
movsd dword es:[edi], dword [esi]
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0x534bf3cd
movd edx, xmm1
movsd dword es:[edi], dword [esi]
add edx, 0x2400
or ecx, 0x3cae9cb7
mov dword [ebp - 0x150], edx
mov edx, eax
movsb byte es:[edi], byte [esi]
mov edi, eax
and ecx, 0x99fc5c35
mov byte [ebp + edx - 0x290], dl
inc edx
cmp edx, 0x100
jb 0x4405f7
mov dword [ebp - 8], ecx
mov esi, eax
mov dl, byte [ebp + esi - 0x290]
mov eax, esi
and eax, dword [ebp - 0x4c]
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x1c]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x290]
mov byte [ebp + esi - 0x290], al
inc esi
mov byte [ebp + edi - 0x290], dl
cmp esi, 0x100
jb 0x440612
xor edi, edi
mov dword [ebp - 0x4c], edi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp + esi - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x4c], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, dword [ebp - 0x4c]
mov byte [ebp + eax - 0x290], cl
movzx eax, byte [ebp + esi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + edi - 0x48]
mov byte [ebp + edi - 0x2c8], al
inc edi
cmp edi, 0x18
jb 0x440652
push 0x16
pop edx
mov dword [ebp - 0x18], edx
movaps xmm1, xmm2
mov dword [ebp - 0x14], 0x58
xor eax, eax
mov dword [ebp - 0x10], 0x52
mov dword [ebp - 0xc], 0xffffff40
movups xmm0, xmmword [ebp - 0x18]
mov dword [ebp - 0x18], 0x22
mov dword [ebp - 0x14], 0x1e
psubd xmm1, xmm0
mov dword [ebp - 0x10], 0x4b
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0xffffff53
psrldq xmm0, 8
paddd xmm1, xmm0
mov ecx, dword [ebp - 8]
movups xmm0, xmm1
mov byte [ebp - 0x2b0], al
psrldq xmm0, 4
or ecx, 0x2922a84f
paddd xmm1, xmm0
mov dword [ebp - 0x38], 0x51
movups xmm0, xmmword [ebp - 0x18]
push 0x2b
movd dword [ebp - 0x160], xmm1
movaps xmm1, xmm2
paddd xmm1, xmm0
mov dword [ebp - 0x18], 0x38
movaps xmm0, xmm1
mov dword [ebp - 0xc], 0x33a
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0x1a9
movups xmm0, xmm1
pop edi
psrldq xmm0, 4
paddd xmm1, xmm0
mov dword [ebp - 0x14], edi
push 6
movd edx, xmm1
movaps xmm1, xmm2
pop esi
mov dword [ebp - 0x10], esi
movups xmm0, xmmword [ebp - 0x18]
add edx, 0x22
mov dword [ebp - 0x16c], edx
paddd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd edx, xmm1
add edx, 0x5d
mov dword [ebp - 0x168], edx
mov edx, eax
add esi, dword [ebp + edx*4 - 0x38]
inc edx
cmp edx, 2
jl 0x4407a7
mov dword [ebp - 0x18], 0x3e
sub ecx, 0x55c41b07
mov dword [ebp - 0x14], 0x43
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], 0xffffff54
movups xmm0, xmmword [ebp - 0x18]
push 0x23
mov dword [0x44ba30], ecx
mov ecx, eax
psubd xmm2, xmm0
mov dword [ebp - 0x164], esi
movaps xmm0, xmm2
mov dword [ebp - 0x3c], 0xf
psrldq xmm0, 8
paddd xmm2, xmm0
mov dword [ebp - 0x38], 0x4c
movups xmm0, xmm2
mov dword [ebp - 0x34], 0x382
psrldq xmm0, 4
paddd xmm2, xmm0
movd dword [ebp - 0x178], xmm2
pop edx
add edx, dword [ebp + ecx*4 - 0x3c]
inc ecx
cmp ecx, 3
jl 0x44081d
push 0x47
mov dword [ebp - 0x18c], edx
mov ecx, eax
mov dword [ebp - 0x38], 0x55
mov dword [ebp - 0x34], 0x164
pop edx
add edx, dword [ebp + ecx*4 - 0x38]
inc ecx
cmp ecx, 2
jl 0x440840
mov dword [ebp - 0x170], edx
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x3c], 0x4b
mov dword [ebp - 0x38], 0x36
mov dword [ebp - 0x34], 0xffffff7f
sub edx, dword [ebp + ecx*4 - 0x3c]
inc ecx
cmp ecx, 3
jl 0x440869
push 0x2c
mov dword [ebp - 0x34], edx
pop ecx
mov dword [ebp - 0x14], 2
mov dword [ebp - 0x10], 0x4f
mov dword [ebp - 0xc], 0x383
add ecx, dword [ebp + eax*4 - 0x14]
inc eax
cmp eax, 3
jl 0x44088e
mov dword [ebp - 0x17c], ecx
lea ecx, [ebp - 0x2e4]
call fcn.004342df
mov ecx, dword [ebp - 0x104]
mov edi, eax
mov edx, edi
mov dword [ebp - 0x30], edi
call fcn.00434eab
mov ecx, dword [ebp + 0xc]
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x104], eax
call fcn.00434b03
test eax, eax
jne 0x440915
push 0xa
pop eax
xor edi, edi
mov dword [ebp - 0x1c], eax
push 5
mov ecx, edi
mov dword [ebp - 0x18], 0x3b
mov dword [ebp - 0x14], 0x53
mov dword [ebp - 0x10], 0x56
mov dword [ebp - 0xc], 0xffffff12
pop eax
sub ecx, dword [ebp + edi*4 - 0x1c]
inc edi
cmp edi, eax
jl 0x4408fc
mov edi, dword [ebp - 0x30]
mov edx, edi
call fcn.00434eab
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x108]
mov edx, edi
call fcn.00434eab
mov ecx, dword [ebp - 0x174]
mov edx, edi
mov dword [ebp - 0x108], eax
call fcn.00434eab
mov ecx, dword [ebp - 0x110]
mov edx, edi
mov esi, eax
call fcn.00434eab
mov ecx, edi
mov dword [ebp - 0x110], eax
call fcn.004348b9
push eax
push dword [ebp - 0x114]
push edi
call fcn.0043423a
add esp, 0xc
mov ecx, edi
call fcn.0041d467
mov ecx, esi
call fcn.00434f93
mov ecx, dword [ebp - 0x180]
add ecx, ecx
mov dword [ebp - 0x114], eax
call fcn.0041d3cf
mov ecx, dword [ebp - 0x184]
add ecx, ecx
mov dword [ebp - 0x2c], eax
call fcn.0041d3cf
mov ecx, dword [ebp - 0x188]
add ecx, ecx
mov dword [ebp - 0x24], eax
call fcn.0041d3cf
mov ecx, dword [ebp - 0x10c]
mov esi, eax
and dword [0x44ba30], 0x97e0a856
add ecx, ecx
mov dword [ebp - 0x30], esi
call fcn.0041d3cf
mov ecx, dword [ebp - 0x190]
mov edi, eax
imul ecx, dword [ebp - 0x128]
mov dword [ebp - 0x10c], edi
imul ecx, dword [ebp - 0x12c]
call fcn.0041d3cf
cmp dword [ebp - 0x24], 0
mov dword [ebp - 8], eax
je 0x440fb9
test esi, esi
je 0x440fb9
test eax, eax
je 0x440fb9
test edi, edi
je 0x440fb9
cmp dword [ebp - 0x2c], 0
je 0x440fb9
mov ecx, dword [ebp - 0x104]
call fcn.004348b9
mov edx, ecx
mov ecx, dword [ebp - 0x24]
push eax
call fcn.004344c5
mov ecx, dword [ebp - 0x110]
call fcn.004348b9
mov edx, ecx
mov ecx, dword [ebp - 0x2c]
push eax
call fcn.004344c5
pop ecx
pop ecx
lea ecx, [ebp - 0x328]
call fcn.004342df
push dword [ebp + 8]
mov esi, eax
lea ecx, [ebp - 0x54]
push dword [ebp - 0x108]
push dword [ebp - 0x120]
push esi
push dword [ebp + 0x10]
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x2ac]
call fcn.0041d4c4
call eax
mov ecx, esi
call fcn.004348b9
push eax
push dword [ebp - 0x130]
push esi
call fcn.0043423a
mov ecx, esi
call fcn.0041d467
mov ecx, dword [ebp + 0x10]
call fcn.004348b9
mov edx, dword [ebp + 0x18]
push eax
call fcn.0041b5fd
push dword [ebp - 0x134]
mov ecx, dword [ebp - 0x124]
lea edx, [ebp - 0x484]
push dword [ebp + 0x18]
push dword [ebp - 8]
push dword [ebp + 0x10]
call fcn.00438420
mov esi, eax
mov eax, dword [ebp - 0x28]
imul eax, dword [ebp - 0xd4]
mov dword [ebp - 0x4c], esi
add eax, eax
push eax
push dword [ebp - 0xcc]
push dword [ebp + 0x10]
call fcn.0043423a
add esp, 0x40
cmp esi, dword [ebp - 0x68]
jne 0x440e90
mov esi, 0x403d14
mov dword [ebp - 0x100], 0x45c1d474
lea edi, [ebp - 0x1c]
mov dword [ebp - 0xfc], 0x514f1150
mov dword [ebp - 0xf8], 0x14a2188c
mov dword [ebp - 0xf4], 0x6770ae82
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xf0], 0xe6db1fb6
mov dword [ebp - 0xec], 0x9af6924d
mov dword [ebp - 0xe8], 0x86f6fb69
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xe4], 0xd37c23b3
mov dword [ebp - 0xe0], 0xdec91338
mov dword [ebp - 0xdc], 0xf3c73bba
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xd8], 0x3c6b542e
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor esi, esi
mov eax, esi
inc eax
cmp eax, 0x1849
je 0x440b92
cmp byte [eax + 0x403fa0], 0
jne 0x440b6c
mov edi, dword [0x44ba30]
cmp eax, 0xe53
jg 0x440b9e
or edi, 0xd9b5e22b
jmp 0x440bab
mov edi, dword [0x44ba30]
add edi, 0x34c87ec5
mov edx, edi
call fcn.0043f457
xor edi, 0x4006240c
and edi, 0x390564a3
mov dword [ebp - 0x28], esi
mov eax, esi
mov byte [ebp + eax - 0x290], al
inc eax
cmp eax, 0x100
jb 0x440bb6
xor edx, edx
mov cl, byte [ebp + esi - 0x290]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0xc4]
movzx ecx, cl
push 0x62
movzx eax, byte [ebp + edx - 0x1c]
mov edx, 0x4ba
add eax, dword [ebp - 0x28]
add ecx, eax
movzx eax, cl
mov dword [ebp - 0x28], eax
pop ecx
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + esi - 0x290], al
mov eax, 0x403ee4
add edx, ecx
inc eax
cmp edx, 0xb65
ja 0x440c21
movsx ecx, byte [eax]
test ecx, ecx
jne 0x440c07
xor edi, 0x1f6f0b77
jmp 0x440c48
push 0x403fb8
mov edx, edi
call fcn.0043f560
and edi, 0x8344108d
mov dword [esp], 0x403fb8
mov edx, edi
call fcn.0043f560
pop ecx
and edi, 0x13b73b2
mov eax, dword [ebp - 0x28]
and edi, 0xcad2d40d
mov cl, byte [ebp - 1]
inc esi
mov byte [ebp + eax - 0x290], cl
cmp esi, 0x100
jb 0x440bc5
xor esi, esi
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x28], esi
mov edi, esi
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 0x28]
mov cl, byte [ebp + edi - 0x290]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x28], eax
mov al, byte [ebp + eax - 0x290]
mov byte [ebp + edi - 0x290], al
mov eax, dword [ebp - 0x28]
mov byte [ebp + eax - 0x290], cl
movzx eax, byte [ebp + edi - 0x290]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x290]
xor al, byte [ebp + esi - 0x100]
mov byte [ebp + esi - 0x98], al
inc esi
cmp esi, 0x2c
jb 0x440c72
mov eax, dword [0x403d28]
xor ecx, ecx
mov dword [ebp - 0xd4], eax
mov edi, ecx
mov ax, word [0x403d2c]
mov word [ebp - 0xd0], ax
mov eax, ecx
mov byte [ebp - 0x6c], cl
mov dword [ebp - 0xcc], 0x721a4b8e
mov word [ebp - 0xc8], 0xc3ea
mov byte [ebp + eax - 0x428], al
inc eax
cmp eax, 0x100
jb 0x440d01
mov esi, ecx
xor edx, edx
mov cl, byte [ebp + esi - 0x428]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x118]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0xd4]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x428]
mov byte [ebp + esi - 0x428], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x428], al
cmp esi, 0x100
jb 0x440d12
mov esi, dword [ebp - 0x68]
xor edi, edi
mov dword [ebp - 0x28], edi
mov eax, edi
inc eax
movzx eax, al
mov dword [ebp - 0x4c], eax
mov cl, byte [ebp + eax - 0x428]
mov eax, dword [ebp - 0x28]
movzx edx, cl
add eax, edx
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 0x4c]
movzx eax, al
mov dword [ebp - 0x28], eax
mov al, byte [ebp + eax - 0x428]
mov byte [ebp + edx - 0x428], al
mov eax, dword [ebp - 0x28]
mov byte [ebp + eax - 0x428], cl
mov eax, edx
movzx eax, byte [ebp + eax - 0x428]
add eax, dword [ebp - 0x68]
xor ecx, ecx
movzx eax, al
mov al, byte [ebp + eax - 0x428]
mov byte [ebp - 1], al
mov eax, ecx
inc eax
cmp eax, 0x25ef
jg 0x440dcd
cmp byte [eax + 0x403fa0], cl
jne 0x440dbb
jmp 0x440de2
push 0x403ee4
mov edx, esi
call fcn.0043f560
pop ecx
or esi, 0xbf5b1fa2
xor ecx, ecx
mov al, byte [ebp + edi - 0xcc]
xor al, byte [ebp - 1]
imul esi, esi, 0xf5fc66fa
mov byte [ebp + edi - 0xd4], al
mov eax, dword [ebp - 0x4c]
and esi, 0x110e3acb
inc edi
cmp edi, 6
jb 0x440d63
push 0x4e
pop edx
mov byte [ebp - 0xce], cl
mov eax, 0x2800
mov dword [ebp - 0x18], 0x51
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 0x2313
sub eax, dword [ebp + ecx*4 - 0x18]
imul esi, esi, 0xd560ca27
inc ecx
cmp ecx, 4
jl 0x440e2e
push eax
mov dword [0x44ba30], esi
lea ecx, [ebp - 0xd4]
mov esi, dword [ebp - 0x30]
push esi
push dword [ebp - 0x24]
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x98]
call fcn.0041d4c4
call eax
push dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov ecx, esi
push dword [ebp - 0x114]
push dword [ebp - 0x11c]
push dword [ebp + 0xc]
call fcn.004352e2
mov edi, dword [ebp - 0x10c]
add esp, 0x10
mov dword [ebp - 0x4c], eax
jmp 0x440e93
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x138]
add eax, eax
push eax
mov eax, dword [ebp - 0x13c]
push eax
push dword [ebp - 0x2c]
call fcn.0043423a
mov eax, dword [ebp - 0x140]
add eax, eax
push eax
push dword [ebp - 0x144]
push dword [ebp - 0x24]
call fcn.0043423a
mov eax, dword [ebp - 0x148]
add eax, eax
push eax
push dword [ebp - 0x14c]
push esi
call fcn.0043423a
mov eax, dword [ebp - 0x150]
imul eax, dword [ebp - 0x154]
imul eax, dword [ebp - 0x158]
push eax
push dword [ebp - 0x15c]
push dword [ebp - 8]
call fcn.0043423a
lea ecx, [ebp - 0x2c8]
call fcn.004342df
mov esi, eax
mov ecx, esi
call fcn.004348b9
push eax
push esi
push edi
call fcn.004341ae
mov ecx, esi
call fcn.004348b9
push eax
push dword [ebp - 0x160]
push esi
call fcn.0043423a
add esp, 0x48
mov ecx, esi
call fcn.0041d467
mov ecx, edi
call fcn.004348b9
mov edx, dword [ebp + 0x18]
push eax
call fcn.0041b5fd
push dword [ebp + 0x18]
mov edx, dword [ebp - 0x120]
push dword [ebp + 0x14]
mov ecx, dword [ebp - 0x124]
push dword [ebp + 0x10]
push dword [ebp - 0x4c]
push edi
push dword [ebp + 8]
call fcn.00439e32
mov eax, dword [ebp - 0x164]
imul eax, dword [ebp - 0x168]
add eax, eax
push eax
push dword [ebp - 0x16c]
push dword [ebp + 0x10]
call fcn.0043423a
mov eax, dword [ebp - 0x170]
imul eax, dword [ebp - 0x18c]
add eax, eax
push eax
push dword [ebp - 0x178]
push dword [ebp + 0x18]
call fcn.0043423a
mov eax, dword [ebp - 0x17c]
add eax, eax
push eax
push dword [ebp - 0x34]
push edi
call fcn.0043423a
mov esi, dword [ebp - 0x30]
add esp, 0x40
mov ecx, dword [ebp - 0x24]
call fcn.0041d467
mov ecx, esi
call fcn.0041d467
mov ecx, dword [ebp - 0x2c]
call fcn.0041d467
mov ecx, dword [ebp - 8]
call fcn.0041d467
and dword [0x44ba30], 0x37ea13f4
mov ecx, edi
call fcn.0041d467
pop edi
pop esi
leave
ret