Function at 0x42f30e
Capabilities:
Authenticate hmac
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a0
mov dword [ebp - 0xcc], edx
xor edx, edx
push 0x53
mov dword [ebp - 0xc8], ecx
mov eax, edx
pop ecx
mov dword [ebp - 0x6c], 0xf
mov dword [ebp - 0x68], 0xffffff9f
add ecx, dword [ebp + eax*4 - 0x6c]
inc eax
cmp eax, 2
jl 0x42f338
push esi
push edi
push 0x48
mov dword [ebp - 0xf4], ecx
mov eax, 0x4033e0
mov ecx, 0x3cd
pop esi
add ecx, esi
inc eax
cmp ecx, 0x848
ja 0x42f36b
movsx esi, byte [eax]
test esi, esi
jne 0x42f357
jmp 0x42f377
push dword [0x44a604]
call fcn.0042a9be
pop ecx
mov eax, dword [0x44a690]
mov ecx, eax
and ecx, 0x2fb1fa93
push eax
mov dword [ebp - 0xc], ecx
call fcn.0042a9be
pop ecx
push 0x12
pop eax
mov dword [ebp - 0x14], eax
mov ecx, eax
mov dword [ebp - 0x70], 0x34
mov eax, edx
mov dword [ebp - 0x6c], 0x2e
mov dword [ebp - 0x68], 0xffffff8c
add ecx, dword [ebp + eax*4 - 0x70]
inc eax
cmp eax, 3
jl 0x42f3ad
push 0x13
mov dword [ebp - 0x7c], ecx
mov esi, 0x1c00
pop ecx
push 0x5f
pop edi
mov dword [ebp - 0x28], ecx
mov eax, edx
mov dword [ebp - 0x24], 0x58
mov dword [ebp - 0x20], 0x63
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 0x16d3
sub esi, dword [ebp + eax*4 - 0x28]
inc eax
cmp eax, 5
jl 0x42f3e2
push 0x4c
mov dword [ebp - 0xe4], esi
mov eax, edx
pop esi
mov dword [ebp - 0x6c], 0x2c
mov dword [ebp - 0x68], 0xffffffa6
add esi, dword [ebp + eax*4 - 0x6c]
inc eax
cmp eax, 2
jl 0x42f405
push 0x20
mov dword [ebp - 0x74], esi
mov eax, edx
pop esi
mov dword [ebp - 0x70], 0x2a
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], 0x3a3
add esi, dword [ebp + eax*4 - 0x70]
inc eax
cmp eax, 3
jl 0x42f428
push 0x21
mov dword [ebp - 0xf8], esi
mov eax, edx
pop esi
mov dword [ebp - 0x6c], 0x3e
mov dword [ebp - 0x68], 0xffffffbf
add esi, dword [ebp + eax*4 - 0x6c]
inc eax
cmp eax, 2
jl 0x42f44b
mov dword [ebp - 0xe8], esi
mov eax, edx
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x6c], 0x36
mov dword [ebp - 0x68], 0x5c
add ecx, dword [ebp + eax*4 - 0x70]
inc eax
cmp eax, 3
jl 0x42f46e
mov esi, 0x401d5c
mov dword [ebp - 0xec], ecx
lea edi, [ebp - 0x28]
mov dword [ebp - 0x58], 0x79c79352
mov dword [ebp - 0x54], 0x9eeaa621
mov eax, edx
mov dword [ebp - 0x50], 0x2b9e90c4
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x4c], 0x279e8cfe
mov dword [ebp - 0x48], 0x6d4d288b
mov dword [ebp - 0x44], 0x7e96eb9e
movsd dword es:[edi], dword [esi]
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, edx
mov byte [ebp + eax - 0x21c], al
inc eax
cmp eax, 0x100
jb 0x42f4bb
mov esi, edx
xor edx, edx
mov cl, byte [ebp + esi - 0x21c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x14]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x21c]
mov byte [ebp + esi - 0x21c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x21c], al
cmp esi, 0x100
jb 0x42f4cc
xor eax, eax
imul esi, dword [ebp - 0xc], 0xd56a15f3
mov dword [ebp - 0x30], eax
mov edx, eax
mov edi, eax
lea eax, [edx + 1]
add esi, 0xeaccf1d3
movzx eax, al
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 8]
mov cl, byte [ebp + eax - 0x21c]
mov eax, dword [ebp - 0x30]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 0x30], eax
mov al, byte [ebp + eax - 0x21c]
mov byte [ebp + esi - 0x21c], al
mov eax, dword [ebp - 0x30]
mov byte [ebp + eax - 0x21c], cl
mov eax, esi
mov esi, dword [ebp - 0x10]
movzx eax, byte [ebp + eax - 0x21c]
add eax, edx
mov edx, dword [ebp - 8]
movzx eax, al
mov al, byte [ebp + eax - 0x21c]
xor al, byte [ebp + edi - 0x58]
mov byte [ebp + edi - 0x270], al
inc edi
cmp edi, 0x18
jb 0x42f51d
mov esi, 0x403138
mov dword [ebp - 0xa8], 0x3b00d7b6
lea edi, [ebp - 0x28]
mov dword [ebp - 0xa4], 0x9fd39f58
push 0x63
pop eax
movsd dword es:[edi], dword [esi]
xor edx, edx
push 0x1e
pop ecx
mov byte [ebp - 0x9d], al
movsd dword es:[edi], dword [esi]
push 0x1a
mov byte [ebp - 0x81], al
mov eax, edx
mov dword [ebp - 0x64], ecx
movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x96], cl
pop ecx
mov byte [ebp - 0x258], dl
movsd dword es:[edi], dword [esi]
mov word [ebp - 0xa0], 0x7ac2
mov byte [ebp - 0x9e], 0x50
mov dword [ebp - 0x9c], 0x2df0d62e
mov word [ebp - 0x98], 0xf965
mov word [ebp - 0x95], 0xfe71
mov byte [ebp - 0x93], 0x85
mov dword [ebp - 0x60], ecx
mov byte [ebp - 0x92], cl
mov dword [ebp - 0x91], 0x3bfcb9ec
mov dword [ebp - 0x8d], 0x842956c1
mov dword [ebp - 0x89], 0x6c7d3c36
mov dword [ebp - 0x85], 0x9fb7e885
mov dword [ebp - 0x80], 0x53e904fe
movsb byte es:[edi], byte [esi]
cmp byte [0x44a610], al
je 0x42f658
inc eax
cmp eax, 0x531
je 0x42f684
cmp byte [eax + 0x44a610], dl
jne 0x42f648
mov esi, dword [ebp - 0x10]
xor esi, 0xffa57d9e
mov eax, dword [ebp - 0xc]
mov edi, 0x4033e0
sub eax, 0x6bfe0392
mov cl, 0x48
mov dword [ebp - 0xc], eax
sub cl, 0x30
cmp cl, 9
ja 0x42f6a1
inc edi
mov cl, byte [edi]
test cl, cl
jne 0x42f673
jmp 0x42f6a7
mov esi, dword [ebp - 0x10]
sub esp, 0xc
mov edx, dword [ebp - 0xc]
mov ecx, esi
call fcn.0042a8e7
add esp, 0xc
or esi, 0x8f615a5f
xor edx, edx
jmp 0x42f65b
imul esi, eax, 0x3fa2cef2
and esi, 0x84566e1d
push esi
call fcn.0042a9be
pop ecx
mov edi, edx
mov eax, edx
mov byte [ebp + eax - 0x21c], al
inc eax
cmp eax, 0x100
jb 0x42f6b8
mov esi, edx
mov dl, byte [ebp + esi - 0x21c]
mov eax, esi
and eax, 0xf
movzx ecx, dl
movzx eax, byte [ebp + eax - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x21c]
mov byte [ebp + esi - 0x21c], al
inc esi
mov byte [ebp + edi - 0x21c], dl
cmp esi, 0x100
jb 0x42f6c9
imul ecx, dword [ebp - 0xc], 0x2a139a23
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
imul eax, ecx, 0xeb452c03
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x30], eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x21c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x21c]
mov byte [ebp + edi - 0x21c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x21c], cl
movzx eax, byte [ebp + edi - 0x21c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x21c]
xor al, byte [ebp + esi - 0xa8]
mov byte [ebp + esi - 0x2a0], al
inc esi
cmp esi, 0x2c
jb 0x42f71e
push 0x14
pop ecx
mov dword [ebp - 0x78], ecx
lea edi, [ebp - 0x9c]
mov byte [ebp - 0x1f], cl
mov esi, 0x40314c
push 7
pop ecx
rep movsd dword es:[edi], dword [esi]
or dword [ebp - 0x30], 0xb2d5a7c
xor eax, eax
sub dword [ebp - 0xc], 0x493993b7
mov ecx, eax
mov byte [ebp - 0x274], al
movsw word es:[edi], word [esi]
mov dword [ebp - 0x2c], 0xe4d249d6
mov dword [ebp - 0x28], 0xcc3a41a5
mov dword [ebp - 0x24], 0x1b0ca74e
mov byte [ebp - 0x20], 4
mov dword [ebp - 0x1e], 0xc674dae5
mov dword [ebp - 0x1a], 0xa18d520
mov word [ebp - 0x16], 0x65bf
movsb byte es:[edi], byte [esi]
mov byte [ebp + ecx - 0x21c], cl
inc ecx
cmp ecx, 0x100
jb 0x42f7da
mov edi, eax
mov esi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x21c]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x64]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x9c]
add eax, esi
add ecx, eax
movzx esi, cl
mov al, byte [ebp + esi - 0x21c]
mov byte [ebp + edi - 0x21c], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + esi - 0x21c], al
cmp edi, 0x100
jb 0x42f7ee
mov esi, dword [ebp - 0xc]
xor eax, eax
mov dword [ebp - 8], eax
inc eax
cmp eax, 0x1eb6
je 0x42f84d
cmp byte [eax + 0x4033e0], 0
jne 0x42f83a
jmp 0x42f856
push dword [ebp - 0x30]
call fcn.0042a9be
pop ecx
sub esp, 0xc
mov edx, esi
mov ecx, esi
call fcn.0042a96a
or esi, 0x9b854cfc
xor edi, edi
add esp, 0xc
sub esi, 0x38be6f2f
mov dword [ebp - 0xc], esi
mov esi, edi
lea eax, [esi + 1]
movzx esi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + esi - 0x21c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x21c]
mov byte [ebp + esi - 0x21c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x21c], cl
movzx eax, byte [ebp + esi - 0x21c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x21c]
xor al, byte [ebp + edi - 0x2c]
mov byte [ebp + edi - 0x238], al
inc edi
cmp edi, 0x18
jb 0x42f878
push 0x1a
pop ecx
mov byte [ebp - 0x23], cl
lea edi, [ebp - 0x98]
push 6
pop ecx
mov esi, 0x40316c
mov dword [ebp - 0x2c], 0xbb07b8a7
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x28], 0xc25a8bee
mov byte [ebp - 0x220], al
mov ecx, eax
mov byte [ebp - 0x24], 0x15
movsw word es:[edi], word [esi]
mov dword [ebp - 0x22], 0x7f7c5a00
mov dword [ebp - 0x1e], 0x58bca5cf
mov dword [ebp - 0x1a], 0x42f30604
movsb byte es:[edi], byte [esi]
mov word [ebp - 0x16], 0xc2c5
mov edi, eax
mov byte [ebp + ecx - 0x21c], cl
inc ecx
cmp ecx, 0x100
jb 0x42f922
mov esi, eax
xor edx, edx
mov cl, byte [ebp + esi - 0x21c]
mov eax, esi
mov byte [ebp - 1], cl
div dword [ebp - 0x60]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x98]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x21c]
mov byte [ebp + esi - 0x21c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x21c], al
cmp esi, 0x100
jb 0x42f934
movzx esi, byte [0x44a610]
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x60], esi
mov esi, dword [ebp - 0xc]
mov edi, ecx
mov edx, eax
inc eax
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x21c]
mov byte [ebp - 1], al
movzx eax, al
mov dword [ebp - 0x64], eax
add eax, edx
cmp byte [0x44a610], 0
movzx eax, al
mov dword [ebp - 0x10], eax
je 0x42f9cf
inc ecx
cmp ecx, 0x103c
jl 0x42f9c9
cmp byte [ecx + 0x44a610], 0
jne 0x42f9b5
jmp 0x42f9cf
imul esi, esi, 0xc3b14e98
imul eax, esi, 0x62d84afa
sub esp, 0xc
mov edx, esi
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.0042a8e7
mov eax, dword [ebp - 0x10]
add esp, 0xc
mov ecx, dword [ebp - 8]
mov edx, 0xcbe
mov al, byte [ebp + eax - 0x21c]
mov byte [ebp + ecx - 0x21c], al
mov eax, 0x44a610
mov ecx, dword [ebp - 0x60]
jmp 0x42fa18
add edx, ecx
inc eax
cmp edx, 0x10f4
ja 0x42fa1e
movzx ecx, byte [eax]
test ecx, ecx
jne 0x42fa0a
jmp 0x42fa3a
mov esi, dword [ebp - 0x14]
sub esp, 0xc
imul edx, esi, 0x690648e
mov ecx, esi
call fcn.0042a96a
add esp, 0xc
and esi, 0x90e44b6f
mov edx, dword [ebp - 0x10]
lea eax, [esi - 0x746b4969]
mov dword [ebp - 0x5c], eax
mov al, byte [ebp - 1]
push 0
mov byte [ebp + edx - 0x21c], al
mov eax, dword [ebp - 8]
pop ecx
movzx eax, byte [ebp + eax - 0x21c]
add eax, dword [ebp - 0x64]
movzx eax, al
mov al, byte [ebp + eax - 0x21c]
xor al, byte [ebp + edi - 0x2c]
mov byte [ebp + edi - 0x254], al
inc edi
mov eax, dword [ebp - 8]
cmp edi, 0x18
jb 0x42f98d
push 0x1a
pop ecx
mov dword [ebp - 0xc], esi
lea edi, [ebp - 0x2c]
mov byte [ebp - 0x49], cl
mov esi, 0x402eec
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
xor eax, eax
mov dword [ebp - 0x58], 0xdfc1a5be
mov byte [ebp - 0x23c], al
mov ecx, eax
mov dword [ebp - 0x54], 0xf8a1046d
mov dword [ebp - 0x50], 0x6da4fb91
mov word [ebp - 0x4c], 0xc168
mov byte [ebp - 0x4a], 0x6b
mov dword [ebp - 0x48], 0x67a0dcbb
mov dword [ebp - 0x44], 0x64dc6a92
movsb byte es:[edi], byte [esi]
mov dword [ebp - 8], eax
mov byte [ebp + ecx - 0x21c], cl
inc ecx
cmp ecx, 0x100
jb 0x42fad4
mov esi, dword [ebp - 0xc]
mov edi, eax
xor edx, edx
mov cl, byte [ebp + edi - 0x21c]
mov eax, edi
mov byte [ebp - 1], cl
div dword [ebp - 0x78]
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x2c]
add eax, dword [ebp - 8]
add ecx, eax
movzx eax, cl
mov dword [ebp - 8], eax
xor eax, eax
cmp byte [0x44a610], al
je 0x42fb2f
inc eax
mov dword [ebp - 0x14], eax
cmp eax, 0x80e
jg 0x42fcea
cmp byte [eax + 0x44a610], 0
jne 0x42fb17
mov eax, esi
xor eax, 0xc659f317
mov ecx, dword [ebp - 8]
add eax, 0xe4ee1a0d
mov dword [ebp - 0x5c], eax
mov al, byte [ebp + ecx - 0x21c]
mov byte [ebp + edi - 0x21c], al
inc edi
mov al, byte [ebp - 1]
mov byte [ebp + ecx - 0x21c], al
cmp edi, 0x100
jb 0x42fae9
xor eax, eax
mov dword [ebp - 8], eax
mov edi, eax
mov esi, eax
lea eax, [edi + 1]
movzx edi, al
mov eax, dword [ebp - 8]
mov cl, byte [ebp + edi - 0x21c]
movzx edx, cl
add eax, edx
movzx eax, al
mov dword [ebp - 8], eax
mov al, byte [ebp + eax - 0x21c]
mov byte [ebp + edi - 0x21c], al
mov eax, dword [ebp - 8]
mov byte [ebp + eax - 0x21c], cl
movzx eax, byte [ebp + edi - 0x21c]
add eax, edx
movzx eax, al
mov al, byte [ebp + eax - 0x21c]
xor al, byte [ebp + esi - 0x58]
mov byte [ebp + esi - 0x98], al
inc esi
cmp esi, 0x18
jb 0x42fb6b
mov esi, 0x403188
mov dword [ebp - 0x10], 0xdd96d80d
lea edi, [ebp - 0x28]
xor eax, eax
mov byte [ebp - 0x80], al
mov ecx, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, eax
mov byte [ebp + ecx - 0x21c], cl
inc ecx
cmp ecx, 0x100
jb 0x42fbe1
mov esi, eax
xor edx, edx
mov dword [ebp - 0x14], 0x11
mov eax, esi
mov cl, byte [ebp + esi - 0x21c]
div dword [ebp - 0x14]
mov byte [ebp - 1], cl
movzx ecx, cl
movzx eax, byte [ebp + edx - 0x28]
add eax, edi
add ecx, eax
movzx edi, cl
mov al, byte [ebp + edi - 0x21c]
mov byte [ebp + esi - 0x21c], al
inc esi
mov al, byte [ebp - 1]
mov byte [ebp + edi - 0x21c], al
cmp esi, 0x100
jb 0x42fbf3
xor eax, eax
mov ecx, eax
mov esi, eax
mov edi, eax
lea eax, [edi + 1]
movzx edi, al
mov dl, byte [ebp + edi - 0x21c]
movzx eax, dl
add eax, ecx
movzx ecx, al
mov dword [ebp - 0x14], ecx
mov al, byte [ebp + ecx - 0x21c]
mov byte [ebp + edi - 0x21c], al
mov byte [ebp + ecx - 0x21c], dl
movzx ecx, byte [ebp + edi - 0x21c]
movzx eax, dl
add ecx, eax
movzx eax, cl
mov ecx, dword [ebp - 0x14]
mov al, byte [ebp + eax - 0x21c]
xor al, byte [ebp + esi - 0x10]
mov byte [ebp + esi - 0x6c], al
inc esi
cmp esi, 4
jb 0x42fc43
mov esi, dword [ebp - 0xc]
xor edx, edx
mov eax, edx
mov byte [ebp - 0x68], dl
mov ecx, 0x3400
mov dword [ebp - 0x28], 0x4a
mov dword [ebp - 0x24], 0x28
lea edi, [esi + 0x16fded4c]
mov dword [ebp - 0x20], 0x3e
mov dword [ebp - 0x1c], 0x64
mov dword [ebp - 0x18], 0x2eec
cmp byte [0x44a610], al
je 0x42fd2d
inc eax
cmp eax, 0x910
jg 0x42fd19
cmp byte [eax + 0x44a610], dl
jne 0x42fcd8
jmp 0x42fd2d
mov edx, dword [ebp - 0x5c]
sub esp, 0xc
mov ecx, edx
call fcn.0042a96a
mov eax, esi
add esp, 0xc
xor eax, 0xa3f1eb18
cmp dword [ebp - 0x14], 0x26cc
jle 0x42fb2f
imul eax, eax, 0x1ed0db71
jmp 0x42fb36
push esi
call fcn.0042a9be
pop ecx
mov edi, esi
mov ecx, 0x3400
or edi, 0x4fb27c85
push 5
or edi, 0xc814201c
pop esi
sub ecx, dword [ebp + edx*4 - 0x28]
inc edx
cmp edx, esi
jl 0x42fd36
mov dword [ebp - 0xbc], ecx
sub esp, 0xc
mov edx, edi
mov ecx, edi
call fcn.0042a8e7
mov dword [ebp - 0x40], 0x26
xorps xmm2, xmm2
mov dword [ebp - 0x3c], 0x57
add esp, 0xc
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], 0xffffff3b
movups xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x40], 0x45
mov dword [ebp - 0x3c], 0xf
movaps xmm0, xmm1
mov dword [ebp - 0x38], 0x2c
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0xffffff77
movups xmm0, xmm1
mov dword [ebp - 0xac], 0xffffff9a
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
movups xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x40], 0x58
mov dword [ebp - 0x3c], 6
add eax, 0x61
movaps xmm0, xmm1
mov dword [ebp - 0x38], 0xb
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x34], 0xe1
movups xmm0, xmm1
mov dword [ebp - 0xf0], eax
psrldq xmm0, 4
paddd xmm1, xmm0
movups xmm0, xmmword [ebp - 0x40]
push 9
pop ecx
psubd xmm2, xmm0
movd eax, xmm1
movaps xmm0, xmm2
mov dword [ebp - 0xb0], ecx
psrldq xmm0, 8
paddd xmm2, xmm0
add eax, ecx
movups xmm0, xmm2
mov dword [ebp - 0xc], eax
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
push 0x5d
pop edx
add eax, 0x168
mov dword [ebp - 0x64], eax
xor eax, eax
mov ecx, eax
add edx, dword [ebp + ecx*4 - 0xb0]
inc ecx
cmp ecx, 2
jl 0x42fe3b
mov dword [ebp - 0x40], 0x32
xorps xmm1, xmm1
mov dword [ebp - 0x3c], 0x19
mov ecx, eax
mov dword [ebp - 0x38], 0x10
mov dword [ebp - 0x34], 0xffffffa5
movups xmm0, xmmword [ebp - 0x40]
push 0x51
mov dword [ebp - 0xd0], edx
psubd xmm1, xmm0
mov dword [ebp - 0xb4], 0x34
movaps xmm0, xmm1
mov dword [ebp - 0xac], 0xffffff78
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
pop edx
psrldq xmm0, 4
push 3
paddd xmm1, xmm0
pop esi
movd dword [ebp - 0xd4], xmm1
mov dword [ebp - 0xb0], esi
add edx, dword [ebp + ecx*4 - 0xb4]
inc ecx
cmp ecx, esi
jl 0x42feb7
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xb8], 0x55
cmp byte [0x44a610], al
je 0x42fefd
inc eax
cmp eax, 0x455
jl 0x42feee
cmp byte [eax + 0x44a610], 0
jne 0x42fedb
jmp 0x42fefd
sub esp, 0xc
mov edx, edi
mov ecx, edi
call fcn.0042a8e7
add esp, 0xc
imul esi, edi, 0x8537046e
and edi, 0x78717a5d
sub esp, 0xc
mov edx, edi
mov dword [0x44a604], edi
mov ecx, esi
call fcn.0042a8e7
mov edx, dword [ebp - 0xb8]
add esp, 0xc
xor eax, eax
mov dword [ebp - 0xb4], 0x18
mov dword [ebp - 0xb0], 0x38
mov ecx, eax
mov dword [ebp - 0xac], 0xffffff5b
add edx, dword [ebp + ecx*4 - 0xb4]
inc ecx
cmp ecx, 3
jl 0x42ff46
mov dword [ebp - 0xb8], edx
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x28], 0x29
mov dword [ebp - 0x24], 0x17
mov dword [ebp - 0x20], 0x55
mov dword [ebp - 0x1c], 0xa
mov dword [ebp - 0x18], 0xffffff61
sub edx, dword [ebp + ecx*4 - 0x28]
inc ecx
cmp ecx, 5
jl 0x42ff80
mov ecx, 0x2800
mov dword [ebp - 0xc0], edx
push 0x6f
mov dword [ebp - 0x60], ecx
mov ecx, 0x4032b0
mov dword [ebp - 0x28], 0x43
mov dword [ebp - 0x24], 0x5b
mov dword [ebp - 0x20], 0x3a
mov dword [ebp - 0x1c], 0x3b
mov dword [ebp - 0x18], 0x22ed
mov dword [ebp - 0x5c], eax
pop edx
mov dword [ebp - 8], 0x1c2c
add dword [ebp - 8], edx
lea ecx, [ecx + 2]
cmp dword [ebp - 8], 0x18bb
ja 0x42ffe5
movzx edx, word [ecx]
test edx, edx
jne 0x42ffcd
jmp 0x430009
sub esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.0042a8e7
imul edi, esi, 0xed264d70
push esi
mov dword [0x44a604], edi
call fcn.0042a9be
add esp, 0x10
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov esi, edi
sub ecx, dword [ebp + eax*4 - 0x28]
or esi, 0x549e5a05
inc eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
mov ecx, 0x4032b0
push 0x6f
pop edx
cmp eax, 5
jl 0x42ffc6
mov dword [ebp - 0x40], 0x42
xorps xmm1, xmm1
mov dword [ebp - 0x3c], 0x60
mov dword [ebp - 0x38], 0x5c
mov dword [ebp - 0x34], 0xffffffb6
movups xmm0, xmmword [ebp - 0x40]
push 0x1e
pop eax
psubd xmm1, xmm0
mov dword [ebp - 0x3c], eax
movaps xmm0, xmm1
mov dword [ebp - 0x40], 0x36
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x38], 7
movups xmm0, xmm1
mov dword [ebp - 0x34], 0xffffff5a
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
movups xmm1, xmmword [ebp - 0x40]
mov dword [ebp - 0x40], 0x23
add esi, 0xd2
mov dword [ebp - 0x3c], 8
movaps xmm0, xmm1
mov dword [ebp - 0xdc], esi
psrldq xmm0, 8
paddd xmm1, xmm0
mov dword [ebp - 0x38], 2
movups xmm0, xmm1
mov dword [ebp - 0x34], 0x9fb
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x4b
mov dword [ebp - 0xac], eax
lea ecx, [edi - 0x3f79f04a]
sub esp, 0xc
mov edx, ecx
mov dword [0x44a690], ecx
call fcn.0042a8e7
movups xmm0, xmmword [ebp - 0x40]
mov ecx, dword [ebp - 0x74]
add esp, 0xc
imul ecx, dword [ebp - 0xe4]
xorps xmm1, xmm1
psubd xmm1, xmm0
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
add ecx, ecx
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0xb2c
mov dword [ebp - 0xe0], eax
call fcn.0041d3cf
mov ecx, dword [ebp - 0xe8]
imul ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x10], eax
call fcn.0041d3cf
mov ecx, dword [ebp - 0xec]
mov edi, eax
add ecx, ecx
mov dword [ebp - 0x14], edi
call fcn.0041d3cf
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x30], eax
call fcn.004342df
lea ecx, [ebp - 0x2a0]
mov dword [ebp - 8], eax
call fcn.0043430e
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x74], eax
call fcn.0043430e
lea ecx, [ebp - 0x254]
mov dword [ebp - 0x78], eax
call fcn.0043430e
push dword [ebp - 0x78]
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x5c], eax
push dword [ebp - 0x74]
push dword [ebp - 0x30]
call fcn.0041d4e5
mov edx, eax
lea ecx, [ebp - 0x98]
call fcn.0041d4c4
call eax
mov eax, dword [ebp - 0xf0]
imul eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x30]
add eax, eax
push eax
push dword [ebp - 0x10]
call fcn.0042b3f7
add esp, 0x14
test eax, eax
je 0x43044c
mov ecx, dword [ebp - 0x10]
call fcn.004348f7
mov edx, ecx
mov ecx, edi
push eax
call fcn.00434436
mov eax, dword [ebp - 0x64]
pop ecx
cmp dword [ebp - 0xc], eax
jge 0x430441
mov dword [ebp - 0x40], 0x3c
mov dword [ebp - 0x3c], 0x4a
mov dword [ebp - 0x38], 0x24
mov dword [ebp - 0x34], 0x2f6
movups xmm0, xmmword [ebp - 0x40]
mov dword [ebp - 0x11c], 0x18
mov dword [ebp - 0x118], 0x48
mov dword [ebp - 0x114], 0xffffff73
movups xmm1, xmm0
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
push 0x2e
pop esi
add ecx, 0x60
xor eax, eax
add esi, dword [ebp + eax*4 - 0x11c]
inc eax
cmp eax, 3
jl 0x430263
call fcn.0041d3cf
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc8]
mov dword [edx + ecx*4], eax
cmp dword [ebp - 0xf4], esi
jne 0x430424
push 9
xor eax, eax
mov dword [ebp - 0x104], 0x39
pop edx
mov dword [ebp - 0x100], 0x36
mov ecx, eax
mov dword [ebp - 0xfc], 0xffffff88
add edx, dword [ebp + ecx*4 - 0x104]
inc ecx
cmp ecx, 3
jl 0x4302b2
mov ecx, eax
mov dword [ebp - 0x110], 0x45
mov dword [ebp - 0x10c], 0x20
mov dword [ebp - 0x108], 0xffffff9b
sub ecx, dword [ebp + eax*4 - 0x110]
inc eax
cmp eax, 3
jl 0x4302df
mov dword [ebp - 0xbc], ecx
cmp dword [ebp - 0x7c], edx
jbe 0x430370
mov ecx, 0x4033e0
mov al, 0x48
sub al, 0x30
cmp al, 9
ja 0x430313
inc ecx
mov al, byte [ecx]
test al, al
jne 0x4302fe
mov esi, dword [0x44a604]
jmp 0x430325
mov esi, dword [0x44a604]
sub esi, 0x132b14c5
mov dword [0x44a604], esi
and dword [0x44a690], 0xa8fb47c9
mov dword [ebp - 0x50], 0x19
mov dword [ebp - 0x4c], 0x59
mov dword [ebp - 0x48], 0x22
mov dword [ebp - 0x44], 0xffffff2c
movups xmm1, xmmword [ebp - 0x50]
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd ecx, xmm1
add ecx, 0x40
jmp 0x430378
mov esi, dword [0x44a604]
mov ecx, edi
mov edx, dword [ebp - 8]
call fcn.00434eab
mov edi, eax
cmp edi, dword [ebp - 0xbc]
je 0x430438
push 0x6f
mov edx, 0x4032b0
pop ecx
push 9
add ecx, 0xffffffd0
pop eax
cmp cx, ax
ja 0x4303b0
add edx, 2
movzx eax, word [edx]
mov ecx, eax
test ax, ax
jne 0x430396
jmp 0x4303b6
add esi, 0x1ab23c9c
mov dword [ebp - 0x24], 0x24
or esi, 0x69f81460
mov dword [ebp - 0x20], 0x5c
mov ecx, edi
mov dword [ebp - 0x1c], 0x59
mov dword [ebp - 0x18], 0xfffffec8
movups xmm1, xmmword [ebp - 0x24]
mov dword [0x44a604], esi
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd eax, xmm1
add eax, 0x60
add dword [ebp - 0x7c], eax
call fcn.004348b9
mov ecx, dword [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0xc]
push edi
push dword [ecx + eax*4]
call fcn.004341ae
mov edi, dword [ebp - 0x14]
add esp, 0xc
mov eax, dword [ebp - 0xc]
movups xmm0, xmmword [ebp - 0x40]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, dword [ebp - 0x64]
jl 0x43023f
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x7c]
mov dword [ecx], eax
mov ecx, dword [ebp - 8]
call fcn.004348b9
push eax
push dword [ebp - 0xd0]
push ecx
call fcn.0043423a
xor eax, eax
add esp, 0xc
cmp byte [0x44a610], al
je 0x43049e
inc eax
cmp eax, 0x21b4
jg 0x43048d
cmp byte [eax + 0x44a610], 0
jne 0x43046e
cmp eax, 0x476
jle 0x43049e
mov eax, dword [0x44a604]
jmp 0x430497
mov eax, dword [0x44a604]
add eax, 0x526e45a5
push eax
call fcn.0042a9be
pop ecx
imul eax, dword [0x44a690], 0xc4478ce9
mov dword [0x44a690], eax
xor eax, 0x5a309e09
push eax
mov dword [0x44a604], eax
call fcn.0042a9be
mov ecx, dword [ebp - 0x74]
call fcn.004348b9
push eax
push dword [ebp - 0xd4]
push ecx
call fcn.0043423a
mov ecx, dword [ebp - 0x78]
call fcn.004348b9
push eax
push dword [ebp - 0xd8]
push ecx
call fcn.0043423a
mov ecx, dword [ebp - 0x5c]
call fcn.004348b9
push eax
push dword [ebp - 0xb8]
push ecx
call fcn.0043423a
mov ecx, dword [ebp - 8]
call fcn.0041d467
mov ecx, dword [ebp - 0x74]
call fcn.0041d467
mov ecx, dword [ebp - 0x78]
call fcn.0041d467
mov ecx, dword [ebp - 0x5c]
call fcn.0041d467
imul esi, dword [ebp - 0x60]
add esi, esi
push esi
push dword [ebp - 0xc0]
push dword [ebp - 0x10]
call fcn.0043423a
add esp, 0x34
test edi, edi
je 0x430603
mov dword [ebp - 0x24], 0x3e
xorps xmm1, xmm1
mov dword [ebp - 0x20], 0xb
xor eax, eax
mov dword [ebp - 0x1c], 0x4c
mov ecx, eax
mov dword [ebp - 0x18], 0xffffff6b
movups xmm0, xmmword [ebp - 0x24]
push 0x63
mov dword [ebp - 0xc4], 0x58
psubd xmm1, xmm0
mov dword [ebp - 0xc0], 0x345
movaps xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movd esi, xmm1
pop edx
add edx, dword [ebp + ecx*4 - 0xc4]
inc ecx
cmp ecx, 2
jl 0x43059a
mov dword [ebp - 0xc0], edx
mov ecx, 0x14a
mov edx, dword [0x44a604]
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x50], 2
mov dword [ebp - 0x4c], 0x31
mov dword [ebp - 0x48], 0x3c
mov dword [ebp - 0x44], 0xae
sub ecx, dword [ebp + eax*4 - 0x54]
and edx, 0xe7f79106
inc eax
cmp eax, 5
jl 0x4305db
imul ecx, dword [ebp - 0xc0]
mov dword [0x44a604], edx
push ecx
push esi
push edi
call fcn.0043423a
add esp, 0xc
mov eax, dword [ebp - 0xe0]
add eax, eax
push eax
push dword [ebp - 0xac]
push dword [ebp - 0x30]
call fcn.0043423a
mov ecx, dword [ebp - 0x10]
add esp, 0xc
call fcn.0041d467
push 0x6f
mov eax, 0x1f99
mov ecx, 0x4032b0
pop edx
add eax, edx
lea ecx, [ecx + 2]
cmp eax, 0xc73
ja 0x430653
movzx edx, word [ecx]
test edx, edx
jne 0x430632
mov esi, dword [0x44a604]
add esi, 0x1aa102b6
jmp 0x43066e
mov esi, dword [0x44a690]
sub esp, 0xc
mov edx, esi
mov ecx, esi
call fcn.0042a8e7
add esp, 0xc
add esi, 0x199a1112
lea eax, [esi - 0x231e6559]
mov dword [0x44a604], esi
push esi
mov dword [0x44a690], eax
call fcn.0042a9be
pop ecx
mov ecx, edi
call fcn.0041d467
mov ecx, dword [ebp - 0x30]
call fcn.0041d467
pop edi
pop esi
leave
ret