Function at 0x47d1e3
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x4b1d5f
call fcn.004b0e50
sub esp, 0x164
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x24], 0x697d
mov dword [ebp - 0x28], 0xab3828
xor ebx, ebx
cmp dword [ebp - 0x24], 0x6af3
jle 0x47d249
push ebx
push ebx
call dword [0xaca368]
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, edi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc edi
cmp edi, 0x6f7
jl 0x47d224
inc esi
cmp esi, 0x30d2
jl 0x47d222
mov dword [ebp - 0x1c], 0x4e2db58
mov dword [ebp - 0x1c], 0xa
push 2
pop edi
cmp dword [ebp - 0x1c], 0x1c
jl 0x47d39f
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x47d281
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x11c], 1
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x47d270
cmp dword [ebp - 0x14], ebx
je 0x47d295
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp eax, 1
setle cl
imul ecx, dword [ebp - 0x14]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x14], 0x18
cmp dword [ebp - 0x14], 6
jge 0x47d397
push edi
lea ecx, [ebp - 0xcc]
call fcn.0040bc20
mov dword [ebp - 0x18], ebx
jmp 0x47d2e2
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0xcc]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x47d2d2
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x47d2fa
push ebx
push ebx
push ebx
push ebx
call dword [fcn.00aca31c]
mov dword [ebp - 0x2c], 0x3d0f
cmp dword [ebp - 0x2c], 0x3fb4
jle 0x47d334
mov esi, ebx
mov edi, ebx
mov eax, edi
xor eax, esi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc edi
cmp edi, 0x1bc5
jl 0x47d30e
inc esi
cmp esi, 0x11d9
jl 0x47d30c
push 2
pop edi
mov eax, dword [ebp - 0xcc]
mov dword [eax], 0xffffffe8
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x2c], 0x3bd6
jge 0x47d35b
mov edx, 0xab3878
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x47d384
lea ecx, [ebp - 0xcc]
call fcn.0040bcf2
dec dword [ebp - 0x14]
jmp 0x47d2b7
inc dword [ebp - 0x1c]
jmp 0x47d25a
mov dword [ebp - 4], edi
cmp dword [ebp - 0x24], 0x691e
jge 0x47d3b8
mov edx, dword [ebp - 0x28]
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x47d3e1
movdqa xmm0, xmmword [0xab7220]
movdqu xmmword [ebp - 0x110], xmm0
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
push dword [ebp - 0x4c]
lea eax, [ebp - 0x100]
push eax
lea eax, [ebp - 0x110]
push eax
push ebx
lea ecx, [ebp - 0x68]
call fcn.0040eb15
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x14], 0x7d1afd06
mov dword [ebp - 0x1c], 0xce96f8f9
mov dword [ebp - 0x18], ebx
jmp 0x47d43f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xf0], 0x758e356e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x47d42e
mov ecx, dword [ebp - 0x68]
cmp dword [ecx + 4], ebx
jne 0x47d474
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ecx + 8]
jg 0x47d462
cmp dword [ecx + 4], ebx
je 0x47d462
xor edx, edx
inc edx
jmp 0x47d464
mov edx, ebx
xor eax, eax
mov ecx, dword [ebp - 0x68]
cmp edx, dword [ecx]
setne al
mov dword [ebp - 0xe4], eax
mov eax, dword [ecx]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0xffffffea
jmp 0x47d4c1
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x14], ebx
jmp 0x47d4b3
mov dword [ebp - 0x1c], ebx
jmp 0x47d4aa
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xf0]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xf0], ecx
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jle 0x47d493
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jle 0x47d48e
cmp dword [ebp - 0x28], ebx
jne 0x47d4c7
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xe
jne 0x47d482
lea ecx, [ebp - 0x68]
call fcn.0040bcf2
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x47d4e9
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x40], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x47d4db
mov dword [ebp - 0x14], 0xffffffe8
jmp 0x47d50b
mov dword [ebp - 0x28], 0x73eb905d
cmp dword [ebp - 0x28], ebx
jne 0x47d511
cmp dword [ebp - 0x14], ebx
jne 0x47d55a
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe5
jge 0x47d4f7
cmp dword [ebp - 0x14], ebx
jne 0x47d55a
mov ecx, ebx
xor eax, eax
cmp ecx, 0x62a0
setl al
cmp eax, dword [ebp - 0x14]
jl 0x47d52d
cmp dword [ebp - 0x14], ebx
jne 0x47d530
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [ebp - 0x14]
add ecx, eax
cmp ecx, dword [ebp - 0x3c]
jg 0x47d54b
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x40], ebx
jne 0x47d562
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
je 0x47d577
cmp dword [ebp - 0x40], ebx
je 0x47d577
xor eax, eax
inc eax
jmp 0x47d579
mov eax, ebx
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
cmp dword [ecx + 0x10], ebx
jne 0x47d58b
xor al, al
jmp 0x47ded8
mov dword [ebp - 0x28], 0xfffffff7
mov dword [ebp - 0x24], 0x3f467215
mov dword [ebp - 0x1c], 0x1df8
mov dword [ebp - 0x24], 0x2fbb6bc3
mov dword [ebp - 0x18], ebx
jmp 0x47d5bd
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xe0], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x47d5ac
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x47d5d6
push 0x259f
call dword [fcn.00aca4b0]
cmp dword [ebp - 0x28], ebx
je 0x47d5ea
mov eax, dword [ebp - 0x1c]
dec dword [ebp - 0x1c]
test eax, eax
je 0x47d5ea
xor edx, edx
inc edx
jmp 0x47d5ec
mov edx, ebx
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
cmp edx, eax
setge cl
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], 0xe83c773
push 1
lea ecx, [ebp - 0xd8]
call fcn.0040bc20
mov dword [ebp - 0x28], 0x67b
mov dword [ebp - 0x14], ebx
jmp 0x47d62d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xc0], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x47d61c
mov dword [ebp - 0x14], ebx
jmp 0x47d648
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xd8]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x47d638
mov dword [ebp - 0x1c], ebx
cmp dword [ebp - 0x1c], edi
jg 0x47d779
push 0xfffffffffffffffd
pop esi
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x5c], 3
mov dword [ebp - 0x24], 0x11bd77df
mov dword [ebp - 0x14], ebx
jmp 0x47d684
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xb4], 0x4c23afc3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x47d673
mov dword [ebp - 0x14], ebx
jmp 0x47d69b
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x128], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x47d68e
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], ebx
je 0x47d6bd
mov dword [ebp - 0x6c], 0xfffffffb
lea ecx, [ebp - 0x6c]
call fcn.0047c348
jmp 0x47d76d
mov dword [ebp - 0x28], 0xf6a7
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x47d6e1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xac], 0xb372ba29
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x47d6d0
lea ecx, [ebp - 0x5c]
call fcn.0047c4cc
mov dword [ebp - 0x14], ebx
jmp 0x47d768
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0xc0], ebx
jne 0x47d702
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp + eax*4 - 0xc0]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
inc ecx
sub ecx, eax
mov eax, dword [ebp - 0xb0]
add ecx, eax
mov eax, dword [ebp - 0xb0]
xor edx, edx
cmp ecx, eax
setne dl
mov ecx, dword [ebp - 0xac]
add ecx, edx
mov eax, dword [ebp - 0x124]
xor edx, edx
cmp eax, ecx
setne dl
mov eax, dword [ebp - 0x5c]
xor ecx, ecx
cmp edx, eax
sete cl
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + eax*4 - 0xc0]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp ecx, eax
setne dl
mov dword [ebp - 0xac], edx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jle 0x47d6f3
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x47d65d
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x47d793
push 0x60e
push ebx
push 0x8ba
call dword [0xaca4a4]
lea ecx, [ebp - 0xd8]
call fcn.0040bcf2
push 0x37db
push ebx
lea eax, [ebp - 0x44]
push eax
call fcn.004813ae
add esp, 0xc
mov dword [ebp - 0x28], ebx
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x47d7c8
push ebx
push 0x1dd4
call dword [fcn.00aca4a8]
mov byte [ebp - 0x35], bl
lea ecx, [ebp - 0x35]
call fcn.0047c740
mov dword [ebp - 0x2c], 0x5cc9
cmp dword [ebp - 0x2c], 0x5f6a
jle 0x47d85d
push ebx
push 0x7bd
push 0x1c9f
push 0x26d9
call dword [0xaca3e0]
mov edi, ebx
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x24], ebx
and eax, esi
and eax, edi
cdq
push edx
push eax
lea ecx, [ebp - 0x140]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x47d81e
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x140]
call fcn.0040c262
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x5f43
jl 0x47d802
inc esi
cmp esi, 0x5c5b
jl 0x47d7fd
inc edi
cmp edi, 0x239e
jl 0x47d7fb
push ebx
call dword [0xaca2bc]
push 2
pop edi
mov dword [ebp - 4], 4
cmp dword [ebp - 0x2c], 0x5b55
jge 0x47d878
push 0xab38c0
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x47d8a1
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x14], 0x10
jb 0x47d8ae
mov ecx, dword [eax]
jmp 0x47d8b0
mov ecx, eax
mov dword [ebp - 0x48], ecx
cmp dword [eax + 0x14], 0x10
jb 0x47d8bd
mov edx, dword [eax]
jmp 0x47d8bf
mov edx, eax
mov eax, dword [eax + 0x10]
add eax, edx
cmp ecx, eax
je 0x47ded6
mov al, byte [ecx]
cmp al, 0x30
jl 0x47dba8
cmp al, 0x39
jg 0x47dba8
mov dword [ebp - 0x1c], 8
mov dword [ebp - 0x24], 6
mov dword [ebp - 0x24], 0x81d68c2a
mov dword [ebp - 0x1c], 0x5e02
cmp dword [ebp - 0x1c], 0x6046
jle 0x47d95e
mov edi, ebx
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x28], edi
mov ecx, esi
sar edi, cl
mov esi, ebx
mov eax, edi
mov ecx, esi
sar eax, cl
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc esi
cmp esi, 0x2c92
jl 0x47d919
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x1c59
mov edi, dword [ebp - 0x2c]
jl 0x47d90d
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x517a
jl 0x47d908
push ebx
push ebx
call dword [0xaca2b8]
push 2
pop edi
mov dword [ebp - 0x18], ebx
jmp 0x47d96d
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x78], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x47d963
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1c], 0x5b04
jge 0x47d992
mov edx, 0xab3900
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x47d9bb
mov dword [ebp - 0x1c], ebx
jmp 0x47dae7
mov dword [ebp - 0x14], 0xce57bf5c
mov dword [ebp - 0x24], 0x4c6a37d7
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], ebx
jl 0x47dadb
mov dword [ebp - 0x28], 0xa275ff44
mov dword [ebp - 0x24], 0x3372585f
mov dword [ebp - 0x18], ebx
jmp 0x47d9fe
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x58], 0xffffffff
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x47d9f0
mov dword [ebp - 0x54], edi
cmp dword [ebp - 0x54], ebx
jl 0x47dad2
mov dword [ebp - 0x2c], 0x718b
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0x78]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], ebx
je 0x47daab
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp + eax*4 - 0x78]
mov eax, dword [ebp - 0x54]
sub ecx, dword [ebp + eax*4 - 0x78]
je 0x47da44
cmp dword [ebp - 0x14], ebx
je 0x47da44
xor eax, eax
inc eax
jmp 0x47da46
mov eax, ebx
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
xor edx, edx
cmp eax, ecx
setle dl
cmp edx, dword [ebp - 0x14]
jle 0x47da64
cmp dword [ebp - 0x54], ebx
jne 0x47da64
mov edx, ebx
jmp 0x47da67
xor edx, edx
inc edx
mov eax, dword [ebp - 0x58]
xor ecx, ecx
cmp edx, eax
sete cl
mov eax, dword [ebp - 0x2c]
add eax, ecx
xor edx, edx
cmp eax, 0x75cb
setl dl
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x24], ecx
cmp dword [ebp - 0x24], ebx
jne 0x47da9b
cmp dword [ebp - 0x50], ebx
jne 0x47da9b
mov eax, ebx
jmp 0x47da9e
xor eax, eax
inc eax
add eax, 0xffff025d
cmp eax, dword [ebp - 0x2c]
jle 0x47daab
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
setle dl
mov eax, dword [ebp - 0x54]
mov eax, dword [ebp + eax*4 - 0x78]
xor ecx, ecx
cmp eax, edx
setg cl
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x54]
jns 0x47da10
dec dword [ebp - 0x14]
jns 0x47d9dd
mov eax, dword [ebp - 0x1c]
cmp dword [ebp + eax*4 - 0x78], ebx
jne 0x47daf0
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jle 0x47d9c3
mov byte [ebp - 0x1d], bl
cmp byte [ebp - 0x1d], 0
je 0x47dafe
call fcn.0047ca97
mov dword [ebp - 0x28], 0x2d7e
cmp dword [ebp - 0x28], 0x2df3
jle 0x47db49
mov edi, ebx
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
xor eax, esi
or eax, edi
cdq
push edx
push eax
mov ecx, 0xac6c78
call fcn.0040b8cb
inc ebx
cmp ebx, 0x52ea
jl 0x47db15
inc esi
cmp esi, 0x3338
push 0
pop ebx
jl 0x47db12
inc edi
cmp edi, 0x53e0
jl 0x47db10
push 2
pop edi
lea edx, [ebp - 0x48]
lea ecx, [ebp - 0x44]
call fcn.0047cb93
mov dword [ebp - 4], 8
cmp dword [ebp - 0x28], 0x2b2f
jge 0x47db73
mov edx, 0xab3978
mov ecx, 0xac6c78
call fcn.0040e502
or dword [ebp - 4], 0xffffffff
jmp 0x47db9c
mov ecx, dword [ebp - 0x48]
inc ecx
mov eax, dword [ebp - 0x34]
jmp 0x47d8b0
push 0x4bc3
push 0x426a
push 0x61bd
lea eax, [ebp - 0x44]
push eax
push ebx
call fcn.0048417c
add esp, 0x14
mov dword [ebp - 0x28], 0x44accb24
mov dword [ebp - 0x28], 0xeeda5852
mov dword [ebp - 0x34], 0x3e3c
cmp dword [ebp - 0x34], 0x3fe8
jle 0x47dc59
push ebx
push ebx
push 0x24cb
push 0x24af
push ebx
call dword [0xaca3dc]
mov dword [ebp - 0x24], ebx
mov edi, ebx
mov dword [ebp - 0x28], 0x67e3
mov esi, ebx
mov eax, edi
cdq
idiv esi
mov eax, edx
cdq
push edx
push eax
lea ecx, [ebp - 0x158]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x47dc22
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x158]
call fcn.0040c262
inc esi
cmp esi, 0x7ae1
jl 0x47dc03
mov esi, dword [ebp - 0x24]
add edi, esi
dec dword [ebp - 0x28]
jne 0x47dc01
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x27cb
jl 0x47dbf8
push 2
pop edi
mov dword [ebp - 0x18], ebx
jmp 0x47dc6f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x90], 0xad313dd3
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x47dc5e
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x34], 0x3b7c
jge 0x47dc90
push 0xab39b0
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x47dcb9
mov dword [ebp - 0x8c], 0x13
cmp dword [ebp - 0x8c], 0xfffffff1
jge 0x47de3a
mov dword [ebp - 0x34], 0x6415
cmp dword [ebp - 0x34], 0x6709
jle 0x47dd51
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov esi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov eax, edi
cdq
idiv esi
mov esi, edx
mov edi, ebx
mov eax, edi
or eax, esi
cdq
push edx
push eax
lea ecx, [ebp - 0x170]
call fcn.00401a21
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x47dd12
mov eax, dword [eax]
push eax
call fcn.0049b6a7
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x170]
call fcn.0040c262
inc edi
cmp edi, 0x6637
jl 0x47dcf6
mov esi, dword [ebp - 0x28]
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x6bc5
mov edi, dword [ebp - 0x24]
jl 0x47dcea
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x812
jl 0x47dce5
push 2
pop edi
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x34], 0x640b
jge 0x47dd6c
push 0xab3a18
call fcn.0049b6a7
pop ecx
or dword [ebp - 4], 0xffffffff
jmp 0x47dd95
movdqa xmm0, xmmword [0xab7260]
movdqu xmmword [ebp - 0x100], xmm0
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
push dword [ebp - 0x4c]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x100]
push eax
push ebx
lea ecx, [ebp - 0x84]
call fcn.0040eb15
mov dword [ebp - 0x18], ebx
jmp 0x47dde0
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xa4], edi
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edi
jl 0x47ddd3
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xa0]
xor ecx, ecx
cmp eax, 0x735e4b78
setge cl
mov eax, dword [ebp - 0x28]
xor edx, edx
cmp ecx, eax
setge dl
mov dword [ebp - 0xa0], edx
xor ecx, ecx
test edx, edx
setns cl
mov eax, dword [ebp - 0x84]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x84]
call fcn.0040bcf2
dec dword [ebp - 0x8c]
jmp 0x47dcc3
mov dword [ebp - 0x30], 0xffff
mov eax, dword [ebp - 0x30]
push 3
lea ecx, [ebp - 0x9c]
call fcn.0040bc20
mov dword [ebp - 0x4c], 0x9bca7b5c
mov dword [ebp - 0x18], ebx
jmp 0x47de70
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], 8
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x47de5d
mov dword [ebp - 0x30], ebx
jmp 0x47deb9
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
xor edx, edx
mov ecx, dword [ebp - 0x9c]
cmp dword [ecx + eax*4], 0xffffffff
setle dl
imul edx, dword [ecx + esi*4]
test edx, edx
jne 0x47dea4
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
inc dword [ebp - 0x30]
cmp dword [ebp - 0x30], edi
jle 0x47de7b
lea ecx, [ebp - 0x4c]
call fcn.0047ce25
lea ecx, [ebp - 0x9c]
call fcn.0040bcf2
jmp 0x47d584
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret