Function at 0x41cd0a
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4bdaa3
call fcn.004bd578
sub esp, 0x140
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x14], 0x23af
mov dword [ebp - 0x18], 0xa2a0
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], 0x728ad64d
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x34], 0xfffffff9
mov dword [ebp - 0x34], 0x815809f1
mov dword [ebp - 0x34], 0x16e91f13
mov dword [ebp - 0x34], 0x8e8c0996
push 4
lea ecx, [ebp - 0xf0]
call fcn.0041981b
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
push dword [ebp - 0x3c]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x100]
push eax
push ebx
lea ecx, [ebp - 0x70]
call fcn.0041c1eb
mov dword [ebp - 0x34], 0x129ac07f
mov dword [ebp - 0x24], ebx
jmp 0x41cdb9
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xf0]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x41cdaa
cmp dword [ebp - 0x14], ebx
je 0x41ce17
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
neg eax
cmp eax, dword [ebp - 0x14]
je 0x41cdd4
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 0x6718
setle cl
sub ecx, dword [ebp - 0x14]
xor eax, eax
test ecx, ecx
setg al
xor edx, edx
cmp eax, 0xa140
setle dl
sub edx, dword [ebp - 0x14]
sub edx, 0xfffd
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setge cl
cmp ecx, dword [ebp - 0x18]
jge 0x41ce20
cmp dword [ebp - 0x20], ebx
jne 0x41ce20
cmp dword [ebp - 0x20], ebx
jne 0x41ce20
mov ecx, ebx
jmp 0x41ce23
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp ecx, eax
setg dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], 0xcc19583e
ja 0x41d07d
mov dword [ebp - 0x20], 0x5676
cmp dword [ebp - 0x20], 0x5860
jle 0x41cee7
mov dword [ebp - 0x18], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, esi
cdq
idiv edi
mov eax, edx
mov dword [ebp - 0x30], eax
mov esi, dword [ebp - 0x18]
mov edi, ebx
cdq
idiv edi
or edx, esi
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x134]
call fcn.004019dd
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x41ce96
mov eax, dword [eax]
push eax
call fcn.004a813a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x134]
call fcn.00419cec
inc edi
cmp edi, 0x7ed9
mov eax, dword [ebp - 0x30]
jl 0x41ce77
mov edi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x4aeb
mov esi, dword [ebp - 0x24]
jl 0x41ce68
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x6ffa
jl 0x41ce63
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x7a9
jl 0x41ce5e
mov dword [ebp - 0x24], ebx
push 3
pop esi
jmp 0x41cf00
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xe4], 0xfcc86f80
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x41ceef
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x20], 0x5646
jge 0x41cf1c
push 0xac8380
call fcn.004a813a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x41cf45
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0x2d
jge 0x41d063
mov dword [ebp - 0x2c], 0xfffffff8
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x41cf83
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0xe4]
imul eax, eax, 0xffff
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x2c], eax
dec dword [ebp - 0x20]
jns 0x41cf65
mov byte [ebp - 0x19], bl
mov dword [ebp - 0x20], 0x2d2e
cmp dword [ebp - 0x20], 0x2e62
jle 0x41cff2
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, edi
mov dword [ebp - 0x28], 0xeec
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov ebx, eax
and ebx, esi
mov eax, edi
or eax, ebx
cdq
push edx
push eax
mov ecx, 0xae9678
call fcn.004195f0
inc edi
cmp edi, 0x39db
jl 0x41cfaf
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x14a8
push 0
pop ebx
jl 0x41cfa9
dec esi
dec dword [ebp - 0x28]
jne 0x41cfa4
mov edi, dword [ebp - 0x24]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x3d5b
jl 0x41cf9b
push 3
pop esi
cmp byte [ebp - 0x19], 0
je 0x41d013
push 0x8a1
push 0x1952
push 0x6ef
push 0x1777
push ebx
call dword [0xaec528]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x20], 0x299e
jge 0x41d032
mov edx, 0xac83f0
mov ecx, 0xae9678
call fcn.0041bb1d
or dword [ebp - 4], 0xffffffff
jmp 0x41d05b
inc dword [ebp - 0x14]
jmp 0x41cf48
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x41d141
push ebx
push ebx
call dword [0xaec388]
jmp 0x41d141
push 1
lea ecx, [ebp - 0x8c]
call fcn.0041981b
mov dword [ebp - 0x28], 0xf3bc9fc
mov dword [ebp - 0x28], ebx
jmp 0x41d0a9
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x8c]
mov dword [eax + ecx*4], 1
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 1
jl 0x41d096
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
sub ecx, 0x37a7
neg ecx
sbb ecx, ecx
inc ecx
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setle dl
imul edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
neg edx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x8c]
add ecx, dword [eax]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [ebp - 0x18]
jge 0x41d0f1
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x28], ebx
je 0x41d100
cmp dword [ebp - 0x24], ebx
je 0x41d100
xor ecx, ecx
inc ecx
jmp 0x41d102
mov ecx, ebx
mov eax, dword [ebp - 0x24]
sub ecx, eax
je 0x41d10c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x8c]
cmp dword [eax], 0x11945b4
setle dl
add edx, 0x3a1a
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
setg cl
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x8c]
call fcn.004198ed
push 3
pop esi
mov eax, dword [ebp - 0x70]
inc dword [eax + 8]
lea ecx, [ebp - 0x70]
call fcn.004198ed
lea ecx, [ebp - 0xf0]
call fcn.004198ed
mov dword [ebp - 0x14], 0xfffffffe
mov dword [ebp - 0x18], 0xdc1b6eab
mov dword [ebp - 0x14], ebx
jmp 0x41d185
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x41d182
push ebx
push 0xd94
call dword [0xaec4c0]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jg 0x41d16d
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0xec29
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, 0xfffffffc
setne dl
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, edx
setl cl
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x34], 0xffff
mov dword [ebp - 0x28], 0xad313dd3
mov dword [ebp - 0x28], 4
cmp dword [ebp - 0x28], 0xfffffff6
jne 0x41d344
push 2
lea ecx, [ebp - 0xa8]
call fcn.0041981b
mov dword [ebp - 0x30], 0x294f
cmp dword [ebp - 0x30], 0x2bff
jle 0x41d264
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x5322
mov edi, ebx
mov dword [ebp - 0x18], 0x2de0
mov ebx, dword [ebp - 0x24]
mov eax, esi
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xae9678
call fcn.004195f0
add edi, ebx
dec dword [ebp - 0x18]
jne 0x41d222
mov edi, dword [ebp - 0x14]
add ebx, edi
mov dword [ebp - 0x24], ebx
dec dword [ebp - 0x20]
push 0
pop ebx
jne 0x41d216
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x22ba
jl 0x41d20c
inc esi
cmp esi, 0x3fd6
jl 0x41d209
push 3
pop esi
push 4
lea ecx, [ebp - 0xb4]
call fcn.0041981b
mov dword [ebp - 4], 4
cmp dword [ebp - 0x30], 0x27bc
jge 0x41d290
mov edx, 0xac8428
mov ecx, 0xae9678
call fcn.0041bb1d
or dword [ebp - 4], 0xffffffff
jmp 0x41d2b9
mov dword [ebp - 0x18], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x41d2d8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa8]
mov dword [eax + ecx*4], 0x888adae8
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x41d2c5
mov dword [ebp - 0x14], ebx
jmp 0x41d2f2
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xb4]
mov dword [eax + ecx*4], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x41d2e3
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xb4]
mov dword [eax + 0xc], ecx
mov dword [ebp - 0x18], ebx
jmp 0x41d321
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x41d31e
push ebx
call dword [0xaec4b4]
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jle 0x41d30e
lea ecx, [ebp - 0xb4]
call fcn.004198ed
lea ecx, [ebp - 0xa8]
call fcn.004198ed
dec dword [ebp - 0x28]
jmp 0x41d1e0
mov dword [ebp - 0x28], 0x73bd
cmp dword [ebp - 0x28], 0x73c9
jle 0x41d3ad
mov esi, ebx
mov dword [ebp - 0x30], ebx
mov edi, ebx
mov dword [ebp - 0x18], edi
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], 0x2140
lea eax, [ebx + esi]
or eax, edi
cdq
push edx
push eax
mov ecx, 0xae9678
call fcn.004195f0
dec edi
dec dword [ebp - 0x30]
jne 0x41d36b
mov edi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x26aa
jl 0x41d361
inc ebx
mov dword [ebp - 0x30], ebx
cmp ebx, 0x59d7
push 0
pop ebx
jl 0x41d359
inc esi
cmp esi, 0x1f21
jl 0x41d356
push 3
pop esi
push 4
lea ecx, [ebp - 0xcc]
call fcn.0041981b
mov dword [ebp - 4], 6
cmp dword [ebp - 0x28], 0x7306
jge 0x41d3d9
mov edx, 0xac84b0
mov ecx, 0xae9678
call fcn.0041bb1d
or dword [ebp - 4], 0xffffffff
jmp 0x41d402
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x28], 0x71e0
cmp dword [ebp - 0x28], 0x73d2
jle 0x41d46a
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x2c], esi
mov ecx, edi
shl esi, cl
mov edi, ebx
mov eax, esi
xor eax, edi
cdq
push edx
push eax
mov ecx, 0xae9678
call fcn.004195f0
inc edi
cmp edi, 0x7066
jl 0x41d42f
mov edi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x30], edi
cmp edi, 0x671a
mov esi, dword [ebp - 0x18]
jl 0x41d423
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x3f6
jl 0x41d41e
push 3
pop esi
mov eax, 0xbdde
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 4], 8
cmp dword [ebp - 0x28], 0x7016
jge 0x41d49a
mov edx, 0xac84e8
mov ecx, 0xae9678
call fcn.0041bb1d
or dword [ebp - 4], 0xffffffff
jmp 0x41d4c3
mov dword [ebp - 0x20], 0xe56f9b2c
mov dword [ebp - 0x2c], 0xfeb9
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x41d4e1
push ebx
call dword [0xaec56c]
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0x20], ebx
jl 0x41d593
push 2
lea ecx, [ebp - 0xc0]
call fcn.0041981b
mov dword [ebp - 0x30], 0x29ef4a04
mov dword [ebp - 0x18], ebx
jmp 0x41d516
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xc0]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x41d506
mov edi, dword [ebp - 0xc0]
mov dword [edi + 4], ebx
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + eax*4 - 0x80]
mov eax, dword [ebp - 0x2c]
xor edx, edx
cmp ecx, eax
setge dl
sub edx, 0x29f5ddeb
xor eax, eax
cmp edx, 0xfffffff8
setge al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x80]
xor ecx, ecx
cmp eax, 0x4f545ee2
setge cl
xor edx, edx
cmp ecx, dword [ebp - 0x30]
setge dl
sub edx, 0x6ee9
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp + eax*4 - 0x80]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x30], ecx
inc dword [edi + 4]
cmp dword [edi + 4], esi
jle 0x41d525
lea ecx, [ebp - 0xc0]
call fcn.004198ed
dec dword [ebp - 0x20]
jns 0x41d4ed
lea edx, [ebp - 0xcc]
lea ecx, [ebp - 0x64]
call fcn.0041c845
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], ebx
jmp 0x41d5c1
cmp byte [ebp - 0x19], 0
je 0x41d5be
push ebx
push ebx
push 0x1db1
push ebx
push ebx
call dword [0xaec50c]
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xfffffff8
mov byte [ebp - 0x19], bl
jl 0x41d5a9
cmp byte [ebp - 0x19], 0
je 0x41d5d7
push ebx
call dword [0xaec35c]
mov dword [ebp - 0x14], 0xfe0a8eac
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x2c], 5
mov dword [ebp - 0x2c], 0x2ecc90c6
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x2c], 0xad21dd8e
mov dword [ebp - 0x2c], 0xb4373c94
mov dword [ebp - 0x2c], 0x5309757a
mov dword [ebp - 0x2c], 0x79f9f4ae
mov dword [ebp - 0x14], 0xfffffff1
jmp 0x41d637
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x41d634
push ebx
push 0x14d3
call dword [0xaec514]
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe7
jne 0x41d61f
mov dword [ebp - 0x14], ebx
jmp 0x41d6a1
mov dword [ebp - 0x18], 0x7597a61e
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x2c], 0x5bc98072
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0xfffffffc
mov eax, dword [ebp - 0x18]
xor edx, edx
cmp eax, esi
setle dl
mov eax, dword [ebp - 0x30]
add eax, 9
xor ecx, ecx
cmp eax, edx
setle cl
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x2c], 0xfffffffd
cmp dword [ebp - 0x14], ebx
jne 0x41d6a7
cmp dword [ebp - 0x2c], ebx
jne 0x41d6a7
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x16
jne 0x41d642
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xcc]
mov dword [eax], ecx
mov dword [ebp - 0x2c], 0x612c
cmp dword [ebp - 0x2c], 0x61dd
jle 0x41d705
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x18]
mov eax, esi
and eax, edi
and eax, ebx
cdq
push edx
push eax
mov ecx, 0xae9678
call fcn.004195f0
inc esi
cmp esi, 0x2dd7
jl 0x41d6cc
inc edi
cmp edi, 0x2122
push 0
pop ebx
jl 0x41d6c7
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x5a64
jl 0x41d6c5
push 3
pop esi
mov dword [ebp - 0x28], 0xbbef7d65
mov dword [ebp - 0x34], 0xfffffff6
mov dword [ebp - 0x18], ebx
jmp 0x41d726
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4c], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x41d718
mov dword [ebp - 0x44], ebx
jmp 0x41d771
mov dword [ebp - 0x24], 0xfffffff7
mov dword [ebp - 0x18], ebx
jmp 0x41d74e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11c], 0x8b108f82
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x41d73d
mov dword [ebp - 0x24], ebx
jmp 0x41d769
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x11c], 0xa6801fc3
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jl 0x41d758
inc dword [ebp - 0x44]
cmp dword [ebp - 0x44], esi
je 0x41d731
mov dword [ebp - 0x30], 0x6118
cmp dword [ebp - 0x30], 0x6209
jle 0x41d7d9
mov edi, ebx
mov esi, ebx
mov eax, edi
mov ecx, esi
shl eax, cl
cdq
push edx
push eax
lea ecx, [ebp - 0x14c]
call fcn.004019dd
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x41d7a8
mov eax, dword [eax]
push eax
call fcn.004a813a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.00419cec
inc esi
cmp esi, 0x66dc
jl 0x41d78a
inc edi
cmp edi, 0x79a2
jl 0x41d788
push ebx
call dword [0xaec378]
push 3
pop esi
mov dword [ebp - 0x28], esi
cmp dword [ebp - 0x28], ebx
jl 0x41d8b9
mov edx, 0x3ec58f55
mov dword [ebp - 0x20], 0x3281d21f
mov dword [ebp - 0x18], ebx
jmp 0x41d804
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 0xfffffff6
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x41d7f6
mov dword [ebp - 0x20], ebx
jmp 0x41d81d
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x4c], 0xfffffffd
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 4
jl 0x41d80f
mov dword [ebp - 0x20], ebx
jmp 0x41d8a7
mov dword [ebp - 0x14], 0x85ce96b7
mov dword [ebp - 0x24], 0x5f07c70a
mov dword [ebp - 0x14], esi
cmp dword [ebp - 0x14], ebx
jl 0x41d846
dec dword [ebp - 0x24]
dec dword [ebp - 0x14]
jns 0x41d83e
mov dword [ebp - 0x24], ebx
jmp 0x41d89f
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x14], ebx
jmp 0x41d897
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x98], edx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x4c]
mov eax, dword [ebp - 0x98]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x34]
neg ecx
sbb ecx, ecx
neg ecx
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x41d853
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], esi
jle 0x41d84b
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], esi
jle 0x41d828
dec dword [ebp - 0x28]
jns 0x41d7ea
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x30], 0x602a
jge 0x41d8d4
push 0xac8558
call fcn.004a813a
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x41d8fd
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x2c], 0x5f45
jge 0x41d91c
mov edx, 0xac8520
mov ecx, 0xae9678
call fcn.0041bb1d
or dword [ebp - 4], 0xffffffff
jmp 0x41d945
mov byte [ebp - 0x35], bl
mov dword [ebp - 0x20], ebx
movdqa xmm0, xmmword [0xad7e60]
movdqu xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
push dword [ebp - 0x64]
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x110]
push eax
push ebx
lea ecx, [ebp - 0x58]
call fcn.0041c1eb
mov dword [ebp - 0x18], ebx
jmp 0x41d994
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xd8], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], esi
jl 0x41d983
mov dword [ebp - 0x20], 2
cmp dword [ebp - 0x20], ebx
jl 0x41da6f
mov dword [ebp - 0x14], 0xfffffffa
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0xd8], ebx
je 0x41da48
mov dword [ebp - 0x18], 0xc0de
mov byte [ebp - 0x19], bl
cmp byte [ebp - 0x19], 0
je 0x41d9db
push 0x2f7
call dword [0xaec120]
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp + eax*4 - 0xd8]
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0xd8], esi
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x18]
mov edx, 0xa089
sub edx, eax
imul edx, dword [ebp - 0x18]
imul edx, ecx
sub edx, dword [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp edx, eax
setl cl
mov eax, dword [ebp - 0x20]
xor edx, edx
cmp ecx, eax
setl dl
neg edx
mov eax, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
cmp esi, ecx
setge dl
xor eax, eax
cmp edx, 0xfa9e
setg al
mov dword [ebp - 0x14], eax
jmp 0x41da66
mov dword [ebp - 0x14], 0x17
jmp 0x41da60
mov dword [ebp - 0x34], 0xd9e9
cmp dword [ebp - 0x34], ebx
jne 0x41da66
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffff2
jge 0x41da51
dec dword [ebp - 0x20]
jns 0x41d9a9
lea ecx, [ebp - 0x58]
call fcn.004198ed
lea ecx, [ebp - 0x35]
call fcn.0041c8c9
lea ecx, [ebp - 0xcc]
call fcn.004198ed
mov eax, dword [ebp - 0x3c]
cdq
mov ecx, 0x3e8
idiv ecx
mov esi, edx
mov edi, eax
mov ecx, dword [ebp - 0x60]
call fcn.0041c755
add eax, esi
add eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret