Function at 0x4a6968
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x14
mov eax, dword [0x56e754]
xor eax, esp
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x1c]
xor eax, eax
push esi
mov esi, dword [esp + 0x1c]
push edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 8], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x28], eax
jle 0x4a5c3e
push ebx
push ebp
lea eax, [eax + eax*4]
lea ebp, [ecx + eax*4]
mov ecx, dword [ebp]
mov eax, dword [ebp + 0xc]
lea ebx, [esi + ecx]
cmp eax, 0x64
ja case.0x4a5bae.18
jmp dword [eax*4 + 0x4a6a08]
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5660
add esp, 0xc
jmp 0x4a5c25
movsd xmm0, qword [ebx]
ucomisd xmm0, qword [0x550218]
lahf
test ah, 0x44
jnp 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5660
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 8]
call fcn.004a48d0
inc esi
cmp esi, dword [ebx]
jl 0x4a5c00
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [esp + 0x30]
jl 0x4a5b96
pop ebp
pop ebx
mov ecx, dword [esp + 0x18]
pop edi
pop esi
xor ecx, esp
call fcn.004ca771
add esp, 0x14
ret
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 8]
call fcn.004a48d0
inc esi
cmp esi, dword [ebx]
jl 0x4a5c70
jmp 0x4a5c21
mov edx, dword [ebp + 4]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edx
mov ecx, edi
call fcn.004a8470
push dword [ebx + 4]
mov ecx, edi
push dword [ebx]
call fcn.004a48d0
jmp 0x4a5c25
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5690
add esp, 0xc
jmp 0x4a5c25
movss xmm0, dword [ebx]
ucomiss xmm0, dword [0x52bc9c]
lahf
test ah, 0x44
jnp 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5690
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a4890
inc esi
cmp esi, dword [ebx]
jl 0x4a5d10
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a4890
inc esi
cmp esi, dword [ebx]
jl 0x4a5d60
jmp 0x4a5c21
mov edx, dword [ebp + 4]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edx
mov ecx, edi
call fcn.004a8470
push dword [ebx]
mov ecx, edi
call fcn.004a4890
jmp 0x4a5c25
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
jmp 0x4a5dbe
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a56b0
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [ebx], esi
jle 0x4a5c21
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
cmp dword [edi + 8], 0xa
mov eax, dword [ebx + 8]
mov ecx, dword [eax + esi*8 + 8]
mov eax, dword [eax + esi*8 + 0xc]
jl 0x4a5e19
mov esi, dword [edi + 4]
push esi
push eax
push ecx
call fcn.004a4af0
sub eax, esi
add esp, 0xc
add dword [edi + 4], eax
sub dword [edi + 8], eax
mov esi, dword [esp + 0x14]
jmp 0x4a5e22
push eax
push ecx
mov ecx, edi
call fcn.004a4aa0
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [ebx]
jl 0x4a5de2
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor ebp, ebp
cmp dword [ebx], ebp
jle 0x4a5c25
nop word [eax + eax]
cmp dword [edi + 8], 0xa
mov eax, dword [ebx + 8]
mov ecx, dword [eax + ebp*8 + 8]
mov eax, dword [eax + ebp*8 + 0xc]
jl 0x4a5e89
mov esi, dword [edi + 4]
push esi
push eax
push ecx
call fcn.004a4af0
sub eax, esi
add esp, 0xc
add dword [edi + 4], eax
sub dword [edi + 8], eax
jmp 0x4a5e92
push eax
push ecx
mov ecx, edi
call fcn.004a4aa0
inc ebp
cmp ebp, dword [ebx]
jl 0x4a5e60
jmp 0x4a5c21
mov edx, dword [ebp + 4]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edx
mov ecx, edi
call fcn.004a8470
cmp dword [edi + 8], 0xa
mov ecx, dword [ebx + 4]
mov eax, dword [ebx]
jl 0x4a5ede
mov esi, dword [edi + 4]
push esi
push ecx
push eax
call fcn.004a4af0
sub eax, esi
add esp, 0xc
add dword [edi + 4], eax
sub dword [edi + 8], eax
jmp 0x4a5c21
push ecx
push eax
mov ecx, edi
call fcn.004a4aa0
jmp 0x4a5c25
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
jmp 0x4a5f08
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a56b0
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
cmp dword [edi + 8], 0xa
mov eax, dword [ebx + 8]
mov ecx, dword [eax + esi*8 + 8]
mov eax, dword [eax + esi*8 + 0xc]
jl 0x4a5f67
mov esi, dword [edi + 4]
push esi
push eax
push ecx
call fcn.004a4af0
sub eax, esi
add esp, 0xc
add dword [edi + 4], eax
sub dword [edi + 8], eax
mov esi, dword [esp + 0x14]
jmp 0x4a5f70
push eax
push ecx
mov ecx, edi
call fcn.004a4aa0
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [ebx]
jl 0x4a5f30
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor ebp, ebp
cmp dword [ebx], ebp
jle 0x4a5c25
cmp dword [edi + 8], 0xa
mov eax, dword [ebx + 8]
mov ecx, dword [eax + ebp*8 + 8]
mov eax, dword [eax + ebp*8 + 0xc]
jl 0x4a5fce
mov esi, dword [edi + 4]
push esi
push eax
push ecx
call fcn.004a4af0
sub eax, esi
add esp, 0xc
add dword [edi + 4], eax
sub dword [edi + 8], eax
jmp 0x4a5fd7
push eax
push ecx
mov ecx, edi
call fcn.004a4aa0
inc ebp
cmp ebp, dword [ebx]
jl 0x4a5fa5
jmp 0x4a5c21
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
jmp 0x4a5ffb
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5700
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [ebx], esi
jle 0x4a5c21
nop
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
cmp dword [edi + 8], 0xa
mov eax, dword [ebx + 8]
mov eax, dword [eax + esi*4 + 4]
cdq
jl 0x4a6054
mov esi, dword [edi + 4]
push esi
push edx
push eax
call fcn.004a4af0
sub eax, esi
add esp, 0xc
add dword [edi + 4], eax
sub dword [edi + 8], eax
mov esi, dword [esp + 0x14]
jmp 0x4a605d
push edx
push eax
mov ecx, edi
call fcn.004a4aa0
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [ebx]
jl 0x4a6020
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor ebp, ebp
cmp dword [ebx], ebp
jle 0x4a5c25
cmp dword [edi + 8], 0xa
mov eax, dword [ebx + 8]
mov eax, dword [eax + ebp*4 + 4]
cdq
jl 0x4a60b8
mov esi, dword [edi + 4]
push esi
push edx
push eax
call fcn.004a4af0
sub eax, esi
add esp, 0xc
add dword [edi + 4], eax
sub dword [edi + 8], eax
jmp 0x4a60c1
push edx
push eax
mov ecx, edi
call fcn.004a4aa0
inc ebp
cmp ebp, dword [ebx]
jl 0x4a6092
jmp 0x4a5c21
mov eax, dword [ebp + 4]
mov ecx, eax
mov edx, dword [ebp + 8]
shr ecx, 3
cmp dword [esi + edx], ecx
jne 0x4a5c25
push eax
mov ecx, edi
call fcn.004a8470
cmp dword [edi + 8], 0xa
mov eax, dword [ebx]
cdq
jl 0x4a60fa
mov esi, dword [edi + 4]
push esi
push edx
jmp 0x4a5ec8
push edx
push eax
mov ecx, edi
call fcn.004a4aa0
jmp 0x4a5c25
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
jmp 0x4a6124
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5660
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 8]
call fcn.004a48d0
inc esi
cmp esi, dword [ebx]
jl 0x4a6144
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 8]
call fcn.004a48d0
inc esi
cmp esi, dword [ebx]
jl 0x4a6191
jmp 0x4a5c21
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
jmp 0x4a61c7
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5690
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop word [eax + eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a4890
inc esi
cmp esi, dword [ebx]
jl 0x4a61f0
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a4890
inc esi
cmp esi, dword [ebx]
jl 0x4a6240
jmp 0x4a5c21
mov edx, dword [ebp + 8]
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [esi + edx*4], eax
jmp 0x4a6272
cmp byte [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5750
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp byte [esi + eax + 4], cl
setne cl
push ecx
mov ecx, edi
call fcn.004a8470
inc esi
cmp esi, dword [ebx]
jl 0x4a6292
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
mov eax, dword [ebx + 8]
xor ecx, ecx
cmp byte [esi + eax + 4], cl
setne cl
push ecx
mov ecx, edi
call fcn.004a8470
inc esi
cmp esi, dword [ebx]
jl 0x4a62e1
jmp 0x4a5c21
mov edx, dword [ebp + 4]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edx
mov ecx, edi
call fcn.004a8470
xor eax, eax
mov ecx, edi
cmp byte [ebx], al
setne al
push eax
call fcn.004a8470
jmp 0x4a5c25
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a57d0
add esp, 0xc
jmp 0x4a5c25
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a57d0
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx + 4], esi
jle 0x4a5c21
nop word [eax + eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov ecx, dword [ebx + 0xc]
push edi
lea eax, [ecx + 4]
neg ecx
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ecx + esi*4]
test eax, eax
jne 0x4a63aa
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x30]
jmp 0x4a63c6
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
push dword [edx + eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
dec eax
push eax
lea eax, [ecx + 0x14]
push eax
push edx
call fcn.004a8350
add esp, 0x14
mov eax, dword [ebp + 4]
mov ecx, edi
inc eax
push eax
call fcn.004a8470
inc esi
cmp esi, dword [ebx + 4]
jl 0x4a6380
jmp 0x4a5c21
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 4]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a57d0
add esp, 0xc
jmp 0x4a5c25
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
jmp 0x4a6412
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a58d0
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx + 4], esi
jle 0x4a5c21
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov ecx, dword [ebx + 0xc]
push edi
push dword [ebp + 0x10]
lea eax, [ecx + 4]
neg ecx
sbb ecx, ecx
and ecx, eax
push dword [ecx + esi*4]
call fcn.004a59d0
inc esi
add esp, 0xc
cmp esi, dword [ebx + 4]
jl 0x4a6433
jmp 0x4a5c21
mov edx, dword [ebp + 4]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edx
mov ecx, edi
call fcn.004a8470
push edi
push dword [ebp + 0x10]
push dword [ebx]
call fcn.004a59d0
add esp, 0xc
jmp 0x4a5c25
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5780
add esp, 0xc
jmp 0x4a5c25
mov eax, dword [ebx]
cmp dword [eax + 0x10], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5780
add esp, 0xc
jmp 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a55f0
add esp, 0xc
jmp 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5110
add esp, 0xc
jmp 0x4a5c25
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 4]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5780
add esp, 0xc
jmp 0x4a5c25
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
jmp 0x4a6527
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5900
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop word [eax + eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a8470
inc esi
cmp esi, dword [ebx]
jl 0x4a6550
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a8470
inc esi
cmp esi, dword [ebx]
jl 0x4a65a0
jmp 0x4a5c21
mov edx, dword [ebp + 4]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edx
mov ecx, edi
call fcn.004a8470
push dword [ebx]
mov ecx, edi
call fcn.004a8470
jmp 0x4a5c25
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5700
add esp, 0xc
jmp 0x4a5c25
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5700
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
mov eax, dword [eax + esi*4 + 4]
cdq
push edx
push eax
call fcn.004a84c0
inc esi
cmp esi, dword [ebx]
jl 0x4a6630
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
mov eax, dword [ebx + 8]
mov ecx, edi
mov eax, dword [eax + esi*4 + 4]
cdq
push edx
push eax
call fcn.004a84c0
inc esi
cmp esi, dword [ebx]
jl 0x4a6680
jmp 0x4a5c21
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 4]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5700
add esp, 0xc
jmp 0x4a5c25
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
jmp 0x4a66d0
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5690
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a4890
inc esi
cmp esi, dword [ebx]
jl 0x4a66f0
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*4 + 4]
call fcn.004a4890
inc esi
cmp esi, dword [ebx]
jl 0x4a6740
jmp 0x4a5c21
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
jmp 0x4a676d
mov eax, dword [ebx]
or eax, dword [ebx + 4]
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5660
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 8]
call fcn.004a48d0
inc esi
cmp esi, dword [ebx]
jl 0x4a6790
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax]
mov eax, dword [ebx + 8]
mov ecx, edi
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 8]
call fcn.004a48d0
inc esi
cmp esi, dword [ebx]
jl 0x4a67e0
jmp 0x4a5c21
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
jmp 0x4a680f
cmp dword [ebx], 0
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5840
add esp, 0xc
jmp 0x4a5c25
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
nop
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov eax, dword [eax + esi*4 + 4]
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
push ecx
mov ecx, edi
call fcn.004a8470
inc esi
cmp esi, dword [ebx]
jl 0x4a6830
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor esi, esi
cmp dword [ebx], esi
jle 0x4a5c21
mov eax, dword [ebx + 8]
mov eax, dword [eax + esi*4 + 4]
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
push ecx
mov ecx, edi
call fcn.004a8470
inc esi
cmp esi, dword [ebx]
jl 0x4a6883
jmp 0x4a5c21
mov edx, dword [ebp + 4]
mov eax, edx
mov ecx, dword [ebp + 8]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edx
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx]
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
push ecx
mov ecx, edi
call fcn.004a8470
jmp 0x4a5c25
push dword [ebp + 8]
push esi
call fcn.004a5b40
add esp, 8
test al, al
je 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5870
add esp, 0xc
jmp 0x4a5c25
mov eax, dword [ebx]
or eax, dword [ebx + 4]
jne 0x4a69d4
jmp 0x4a5c25
xor esi, esi
mov dword [esp + 0x14], esi
cmp dword [ebx], esi
jle 0x4a5c21
nop dword [eax + eax]
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x14]
mov esi, dword [eax + esi*8 + 8]
mov edx, dword [eax + edx*8 + 0xc]
mov ecx, edx
mov eax, edx
sar ecx, 0x1f
shld edx, esi, 1
sar eax, 0x1f
xor eax, edx
add esi, esi
xor ecx, esi
push eax
push ecx
mov ecx, edi
call fcn.004a84c0
mov esi, dword [esp + 0x14]
inc esi
mov dword [esp + 0x14], esi
cmp esi, dword [ebx]
jl 0x4a6920
jmp 0x4a5c21
cmp dword [ebx], 0
je 0x4a5c25
push dword [ebp + 4]
mov ecx, edi
call fcn.004a8470
push dword [ebx + 0xc]
mov ecx, edi
call fcn.004a8470
xor ebp, ebp
cmp dword [ebx], ebp
jle 0x4a5c25
nop
mov eax, dword [ebx + 8]
mov edx, dword [eax + ebp*8 + 0xc]
mov ecx, edx
mov esi, dword [eax + ebp*8 + 8]
mov eax, edx
shld edx, esi, 1
sar eax, 0x1f
sar ecx, 0x1f
xor eax, edx
add esi, esi
xor ecx, esi
push eax
push ecx
mov ecx, edi
call fcn.004a84c0
inc ebp
cmp ebp, dword [ebx]
jl 0x4a6990
jmp 0x4a5c21
mov ecx, dword [ebp + 8]
mov eax, dword [ebp + 4]
shr eax, 3
cmp dword [esi + ecx], eax
jne 0x4a5c25
push edi
push ebp
push ebx
call fcn.004a5870
add esp, 0xc
jmp 0x4a5c25
mov eax, dword [ebp + 0x10]
push edi
push dword [ebp + 8]
push dword [ebp + 4]
push ecx
push esi
call eax
add esp, 0x14
jmp 0x4a5c25
push eax
call fcn.004a83c0
add esp, 4
jmp 0x4a5c25