Function at 0x4b79a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x234
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov eax, dword [ebx + 8]
push edi
xor edi, edi
mov ecx, 2
mov edx, eax
mov dword [esp + 0xc0], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xd0], edi
mov dword [esp + 0xdc], edi
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x80], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x48], edi
cmp esi, edi
jne 0x4b7a51
cmp dword [ebp + 0xc], edi
jne 0x4baaa3
push edi
xor ecx, ecx
lea eax, [edi + 2]
call fcn.00467420
mov edx, dword [esp + 0xd4]
push edi
xor ecx, ecx
lea eax, [edi + 2]
call fcn.00467420
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esi + 4], 5
jne 0x4baaa3
lea eax, [esi + 0x38]
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x18]
imul eax, dword [esi + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x14]
push 5
call fcn.0049da60
mov byte [esp + 0x7f], al
mov eax, dword [esi + 0x24]
mov dword [esp + 0x60], edi
cmp eax, edi
je 0x4b7ab4
cmp dword [eax + 4], 5
jne 0x4b7ab4
mov ecx, dword [eax + 0x1c]
imul ecx, dword [eax + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0xc0], ecx
call fcn.0045e700
cmp eax, edi
je 0x4b7ab4
cmp dword [eax + 4], 3
jne 0x4b7ab4
mov dword [esp + 0x60], eax
mov esi, dword [esi + 0x28]
cmp esi, edi
je 0x4b7ad2
cmp dword [esi + 4], 5
jne 0x4b7ad2
mov eax, dword [esi + 0x1c]
imul eax, dword [esi + 0x18]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
jmp 0x4b7ad4
mov eax, edi
cmp dword [esp + 0xc0], 0x100000
ja 0x4b7ae8
cmp eax, 0x100000
jbe 0x4b7af2
mov edi, 0x80070057
jmp 0x4baaa8
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0xc4]
lea edx, [esp + 0xd4]
push edx
mov edx, dword [esp + 0xdc]
lea edi, [eax + ecx*2]
mov ecx, 4
push edx
lea esi, [ecx - 2]
call fcn.004673b0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0xd0]
test esi, esi
je 0x4b7b53
mov ecx, dword [esp + 0xc0]
lea edx, [eax + ecx*4]
mov dword [esp + 0x40], eax
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0x48]
test edx, edx
je 0x4b7b69
mov ecx, dword [esp + 0xc0]
lea eax, [eax + ecx*8]
mov dword [esp + 0x58], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x20]
mov cl, byte [ebp + 0x10]
mov byte [esp + 0xc8], 0
mov byte [esp + 0x7e], 0
mov byte [esp + 0x6c], 0
cmp eax, 0x1e
ja case.0x4b7b90.2
movzx eax, byte [eax + 0x4bab0c]
jmp dword [eax*4 + 0x4baaf8]
mov byte [esp + 0x6c], 1
mov byte [esp + 0xc8], cl
jmp case.0x4b7b90.2
mov byte [esp + 0x7e], 1
mov byte [esp + 0xc8], cl
jmp case.0x4b7b90.2
mov byte [esp + 0xc8], 1
cmp byte [edi + 0x2c], 0
je 0x4b7c2d
test esi, esi
je 0x4b7be9
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0x40]
push ecx
push edx
push eax
push esi
mov ecx, ebx
call fcn.004b79a0
mov edi, eax
test edi, edi
jl 0x4baaa8
cmp byte [esp + 0x7e], 0
je 0x4b7c12
test esi, esi
je 0x4b7c12
mov ecx, dword [esp + 0xb0]
push 0
push 1
push ecx
push esi
mov ecx, ebx
call fcn.004b79a0
mov edi, eax
test edi, edi
jl 0x4baaa8
cmp dword [esp + 0x48], 0
je 0x4b7ca1
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x48]
push 0
push 0
push edx
push eax
jmp 0x4b7c90
test edx, edx
je 0x4b7c50
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
push 0
push 0
push ecx
push edx
mov ecx, ebx
call fcn.004b79a0
mov edi, eax
test edi, edi
jl 0x4baaa8
test esi, esi
je 0x4b7c78
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
push esi
mov ecx, ebx
call fcn.004b79a0
mov edi, eax
test edi, edi
jl 0x4baaa8
cmp byte [esp + 0x7e], 0
je 0x4b7ca1
test esi, esi
je 0x4b7ca1
mov eax, dword [esp + 0xb0]
push 0
push 1
push eax
push esi
mov ecx, ebx
call fcn.004b79a0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x20]
xor edi, edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x6c], edi
cmp eax, 0x25
ja case.default.0x4b7cba
jmp dword [eax*4 + 0x4bab2c]
cmp esi, edi
je 0x4b7ea1
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
cmp byte [esp + 0x7f], 0
je 0x4b7dd0
mov eax, dword [esi + 0x14]
push 5
call fcn.0049da60
test al, al
je 0x4b7d0d
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
jmp 0x4b9b6a
cmp dword [esp + 0x60], edi
je 0x4b7dc1
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x60], 0
test esi, esi
jbe 0x4b9b70
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x44], edx
fldz
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x36f4]
mov edx, dword [esp + 0x44]
sub esp, 8
fstp qword [esp]
push 0
push 0
push 0
push 0
push ecx
push edx
push eax
call fcn.00508980
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
or dword [eax + 0xc], 0x1000000
cmp dword [esp + 0xc0], 0
mov dword [eax + 8], edx
mov eax, dword [ecx]
mov edx, dword [esp + 0x70]
mov dword [eax + 0x8c], edx
jbe 0x4b7da4
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
mov eax, dword [edx + 0x38]
cmp eax, 0xffffffff
je 0x4baaa3
mov edx, dword [ecx]
mov dword [edx + 0x90], eax
mov eax, dword [esp + 0x60]
inc eax
add ecx, 4
mov dword [esp + 0x60], eax
mov dword [esp + 0x44], ecx
cmp eax, esi
jb 0x4b7d32
jmp 0x4b9b6e
mov eax, dword [esp + 0x38]
push 0x441fc4
push eax
jmp 0x4baa97
cmp dword [esp + 0xc0], 1
mov esi, dword [esp + 0x3c]
jne 0x4b7dff
xor eax, eax
test esi, esi
jbe 0x4b9b70
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x40]
nop
mov edi, dword [edx]
mov dword [ecx + eax*4], edi
inc eax
cmp eax, esi
jb 0x4b7df0
jmp 0x4b9b6e
mov ecx, dword [esp + 0xc0]
cmp esi, ecx
je 0x4b7e83
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
cmp eax, 1
jne 0x4b7e19
cmp esi, ecx
jb 0x4b7e83
mov ecx, dword [esp + 0x70]
cmp eax, dword [ecx + 0x18]
ja 0x4b7e74
mov edx, dword [edx + 0x1c]
cmp edx, dword [ecx + 0x1c]
ja 0x4b7e74
xor edi, edi
test eax, eax
jbe 0x4b9b6e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
mov edx, dword [esp + 0x70]
lea ecx, [eax*4]
imul eax, edi
push ecx
mov ecx, dword [edx + 0x1c]
mov edx, dword [esp + 0x44]
imul ecx, edi
lea ecx, [edx + ecx*4]
mov edx, dword [ebp + 0xc]
push ecx
lea eax, [edx + eax*4]
push eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp + 8]
inc edi
add esp, 0xc
cmp edi, dword [ecx + 0x18]
jb 0x4b7e34
jmp 0x4b9b6e
mov edx, dword [esp + 0x38]
push 0x441fec
push edx
jmp 0x4baa97
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
lea eax, [esi*4]
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x4b9b6e
mov esi, dword [esp + 0x3c]
mov eax, dword [ebp + 0xc]
mov edx, dword [ecx + 0x24]
push esi
push eax
push edx
mov ecx, ebx
call fcn.004a23d0
mov edi, eax
test edi, edi
jl 0x4baaa8
jmp 0x4b9b6e
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0xc0]
cmp esi, edi
jbe 0x4b7f02
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x40]
sub ecx, eax
mov edx, esi
mov edi, dword [ecx + eax]
mov dword [eax], edi
add eax, 4
sub edx, 1
jne 0x4b7ef5
mov edx, dword [esp + 0x44]
xor eax, eax
test edx, edx
jbe 0x4b9b6a
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx + esi*4]
mov esi, dword [esp + 0x58]
lea ebx, [ebx]
mov edi, dword [esi + eax*4]
mov dword [ecx], edi
inc eax
add ecx, 4
cmp eax, edx
jb 0x4b7f20
jmp 0x4b9b6a
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x4b9d67
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
test eax, eax
je 0x4b9b6e
mov eax, dword [eax + 0x10]
mov ecx, dword [ebx + 8]
cmp dword [ecx + 0x3668], eax
je 0x4b7f7e
mov eax, dword [eax + 8]
and eax, 0x8000000
xor ecx, ecx
or eax, ecx
je 0x4b9b6e
xor eax, eax
test esi, esi
jbe 0x4b805f
jmp 0x4b7f90
mov ecx, dword [edx + eax*4]
cmp dword [ecx + 0x38], 0xffffffff
je 0x4b7faf
inc eax
cmp eax, esi
jb 0x4b7f90
mov eax, dword [esp + 0x58]
mov dword [esp + 0x54], edx
mov dword [esp + 0x6c], eax
jmp 0x4b9b6e
mov edx, dword [esp + 0x38]
push 0x442020
push edx
jmp 0x4baa97
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x4b9d67
mov dword [esp + 0x44], 0
jbe 0x4b805b
jmp 0x4b7ff0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx + edx*4]
mov eax, dword [eax + 0x84]
push 2
call fcn.00450d20
test al, al
je 0x4b8030
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov edi, dword [ecx + edx*4]
mov eax, dword [edi + 0x84]
call fcn.004b78f0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov eax, dword [eax + edx*4]
cmp dword [eax + 0x38], 0xffffffff
jne 0x4b8052
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
and eax, 0x8000000
xor ecx, ecx
or eax, ecx
je 0x4b8070
inc edx
mov dword [esp + 0x44], edx
cmp edx, esi
jb 0x4b7ff0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x54], edx
mov dword [esp + 0x6c], eax
jmp 0x4b9b6e
mov ecx, dword [esp + 0x38]
push 0x442020
push ecx
jmp 0x4baa97
cmp esi, edi
je 0x4baaa3
mov esi, dword [esp + 0x3c]
lea edi, [esi + esi]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x80]
lea edx, [ecx + esi*4]
xor edi, edi
mov dword [esp + 0x64], edx
test esi, esi
jbe 0x4b80ff
jmp 0x4b80c0
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
and edx, 0x70001ff
push edx
and ecx, 0x80000000
push ecx
mov edx, ebx
call fcn.004a27d0
mov ecx, dword [esp + 0x64]
mov dword [ecx + edi*4], eax
inc edi
cmp edi, esi
jb 0x4b80c0
test esi, esi
jbe 0x4b80ff
mov edi, dword [esp + 0x80]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x40]
push 0
push 0
push 0
push 0
lea ecx, [eax + esi*4]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push eax
mov eax, esi
and eax, 0xfffff
or eax, 0x20400000
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x54], edx
mov dword [esp + 0x6c], eax
jmp 0x4b9b6e
cmp esi, edi
je 0x4baaa3
mov esi, dword [esp + 0x3c]
lea edi, [esi + esi]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x80]
lea edx, [ecx + esi*4]
xor edi, edi
mov dword [esp + 0x64], edx
test esi, esi
jbe 0x4b80ff
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
and edx, 0x70001ff
push edx
and ecx, 0x80000000
push ecx
mov edx, ebx
call fcn.004a2880
mov ecx, dword [esp + 0x64]
mov dword [ecx + edi*4], eax
inc edi
cmp edi, esi
jb 0x4b8193
jmp 0x4b80ed
cmp esi, edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb2], 0x40
mov esi, dword [esp + 0x3c]
je 0x4b8207
test esi, esi
jbe 0x4b81f4
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 0xfffff
or ecx, 0x12100000
jmp 0x4b82ea
lea edi, [esi + esi]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
lea ecx, [esi + esi]
test ecx, ecx
jbe 0x4b8233
mov edi, dword [esp + 0x80]
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x80]
lea ecx, [eax + esi*4]
mov dword [esp + 0x64], ecx
test esi, esi
jbe 0x4b824f
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x64]
push 0
push 0
push 0
push 0x17
push eax
mov eax, esi
and eax, 0xfffff
or eax, 0x20300000
mov edx, dword [ebp + 0xc]
push ecx
push edx
mov ecx, dword [esp + 0x54]
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jge 0x4b9b6e
jmp 0x4baaa8
cmp esi, edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b82dc
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 0xfffff
or ecx, 0x10100000
push 0
push 0
push 0
push 0
push 0
mov edx, dword [esp + 0x54]
mov eax, dword [ebp + 0xc]
push edx
push eax
mov edx, dword [esp + 0x54]
push ecx
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
jmp 0x4b9b6e
cmp esi, edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b833c
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x50]
mov edx, esi
and edx, 0xfffff
push ecx
or edx, 0x10000000
push edx
push eax
jmp 0x4b8303
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b8392
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
push 0
push 0
push 0
push 0
push ecx
mov ecx, esi
and ecx, 0xfffff
or ecx, 0x20400000
jmp 0x4b82f4
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
mov edi, esi
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
test esi, esi
jbe 0x4b8408
mov edi, dword [esp + 0x80]
or eax, 0xffffffff
mov ecx, esi
rep stosd dword es:[edi], eax
test esi, esi
jbe 0x4b8408
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x80]
push 0
push 0
push 0
push 0
push 0
push ecx
mov eax, esi
and eax, 0xfffff
mov dword [esp + 0x60], eax
push edx
or eax, 0x10100000
push eax
mov eax, dword [esp + 0x58]
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x40]
mov eax, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push ecx
push edx
push eax
mov eax, dword [esp + 0x64]
or eax, 0x20400000
jmp 0x4b829d
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
mov edx, dword [ebp + 0xc]
test esi, esi
jbe 0x4b849c
mov ecx, esi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
push 0
push 0
push 0
je 0x4b84d1
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x4c]
push 0x80000000
push ecx
mov ecx, esi
push eax
and ecx, 0xfffff
push edx
or ecx, 0x20a00000
jmp 0x4b82fd
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x4c]
push 0x17
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
mov edx, esi
and edx, 0xfffff
or edx, 0x20200000
push edx
push eax
jmp 0x4b8303
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
mov edx, dword [ebp + 0xc]
test esi, esi
jbe 0x4b8526
mov ecx, esi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb2], 0x40
push 0
push 0
push 0
je 0x4b8561
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
push 0x80000000
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
mov edx, esi
and edx, 0xfffff
or edx, 0x20a00000
push edx
push eax
jmp 0x4b8303
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x64]
push 0x17
push ecx
mov ecx, esi
push eax
and ecx, 0xfffff
push edx
or ecx, 0x20200000
jmp 0x4b82fd
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
mov edx, dword [ebp + 0xc]
test esi, esi
jbe 0x4b85b0
mov ecx, esi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
push 0
push 0
push 0
je 0x4b85e5
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x64]
push 0x80000000
push ecx
mov ecx, esi
push eax
and ecx, 0xfffff
push edx
or ecx, 0x20b00000
jmp 0x4b82fd
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x64]
push 0x17
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
mov edx, esi
and edx, 0xfffff
or edx, 0x20300000
push edx
push eax
jmp 0x4b8303
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
mov edx, dword [ebp + 0xc]
test esi, esi
jbe 0x4b863a
mov ecx, esi
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb2], 0x40
push 0
push 0
push 0
je 0x4b8675
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x4c]
push 0x80000000
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
mov edx, esi
and edx, 0xfffff
or edx, 0x20b00000
push edx
push eax
jmp 0x4b8303
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x4c]
push 0x17
push ecx
mov ecx, esi
push eax
and ecx, 0xfffff
push edx
or ecx, 0x20300000
jmp 0x4b82fd
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
mov esi, dword [esp + 0x3c]
je 0x4b86f1
test esi, esi
jbe 0x4b86ce
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
push 0
push 0
push 0
push 0x80000000
push ecx
mov ecx, esi
and ecx, 0xfffff
or ecx, 0x20c00000
jmp 0x4b82f4
lea edi, [esi*4]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x80]
lea ecx, [esi*4]
test ecx, ecx
jbe 0x4b8727
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [edx + esi*4]
lea ecx, [edx + esi*8]
mov dword [esp + 0x94], eax
lea eax, [esi + esi*2]
mov dword [esp + 0x98], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x9c], ecx
test esi, esi
jbe 0x4b8756
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
push 0
push 0
push 0
push 0
push 0
push ecx
mov eax, esi
and eax, 0xfffff
push edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x64], eax
or eax, 0x10100000
push eax
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x94]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x50]
push edx
or eax, 0x20400000
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0x17
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
or eax, 0x20300000
push eax
mov eax, dword [esp + 0x58]
push eax
jmp 0x4b82a3
cmp esi, edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb2], 0x40
je 0x4b886f
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b81f4
mov edi, dword [ebp + 0xc]
or eax, 0xffffffff
mov ecx, esi
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 0xfffff
or ecx, 0x12100000
jmp 0x4b82ea
mov eax, dword [esp + 0x38]
push 0x442044
push eax
mov edx, 0xdcf
mov eax, ebx
mov edi, 0x80004001
call fcn.004a49f0
add esp, 8
jmp 0x4baaa8
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb2], 0x40
je 0x4b88fa
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b88cb
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push edx
push eax
mov eax, dword [esp + 0x50]
mov edx, esi
and edx, 0xfffff
push ecx
or edx, 0x23400000
push edx
push eax
jmp 0x4b8303
mov ecx, dword [esp + 0x38]
push 0x442044
push ecx
mov edx, 0xdcf
mov eax, ebx
mov edi, 0x80004001
call fcn.004a49f0
add esp, 8
jmp 0x4baaa8
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov edx, dword [ebx + 8]
test byte [edx + 0xb2], 0x40
je 0x4b8983
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b8956
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push eax
push ecx
mov ecx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push edx
or eax, 0x23500000
push eax
push ecx
jmp 0x4b8303
mov edx, dword [esp + 0x38]
push 0x442044
push edx
mov edx, 0xdcf
mov eax, ebx
mov edi, 0x80004001
call fcn.004a49f0
add esp, 8
jmp 0x4baaa8
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
je 0x4b886f
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b89e3
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
push 0
push 0
push 0
push 0
push ecx
mov ecx, esi
and ecx, 0xfffff
or ecx, 0x23000000
jmp 0x4b82f4
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb2], 0x40
je 0x4b88fa
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b8a40
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push edx
push eax
mov eax, dword [esp + 0x50]
mov edx, esi
and edx, 0xfffff
push ecx
or edx, 0x23100000
push edx
push eax
jmp 0x4b8303
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov edx, dword [ebx + 8]
test byte [edx + 0xb2], 0x40
je 0x4b8983
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b8aac
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push eax
push ecx
mov ecx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push edx
or eax, 0x23300000
push eax
push ecx
jmp 0x4b8303
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
mov esi, dword [esp + 0x3c]
je 0x4b8b32
test esi, esi
jbe 0x4b8b12
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
push 0
push 0
push 0
push 0
push ecx
mov ecx, esi
and ecx, 0xfffff
or ecx, 0x20d00000
jmp 0x4b82f4
lea edi, [esi*4]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x80]
lea ecx, [esi*4]
test ecx, ecx
jbe 0x4b8b68
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [edx + esi*4]
lea ecx, [edx + esi*8]
mov dword [esp + 0x94], eax
lea eax, [esi + esi*2]
mov dword [esp + 0x98], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x9c], ecx
test esi, esi
jbe 0x4b8b97
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
push 0
push 0
push 0
push 0
push 0
push ecx
mov eax, esi
and eax, 0xfffff
push edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x64], eax
or eax, 0x10100000
push eax
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x94]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x50]
push edx
or eax, 0x20400000
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0x17
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
or eax, 0x20200000
push eax
mov eax, dword [esp + 0x58]
push eax
jmp 0x4b82a3
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb2], 0x40
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x60], 0
je 0x4b8d32
test esi, esi
jbe 0x4b8ced
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x40]
sub edi, ecx
nop
mov eax, dword [edi + ecx]
mov eax, dword [eax + 8]
and eax, 0x80000000
xor edx, edx
or eax, edx
je 0x4b8d0f
mov eax, dword [ecx]
mov eax, dword [eax + 8]
and eax, 0x80000000
or eax, edx
je 0x4b8d0f
mov eax, dword [esp + 0x60]
inc eax
add ecx, 4
mov dword [esp + 0x60], eax
cmp eax, esi
jb 0x4b8cb0
test esi, esi
jbe 0x4b8ced
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
push 0
push 0
push 0
push 0x17
push eax
mov eax, esi
and eax, 0xfffff
or eax, 0x23000000
jmp 0x4b8298
mov edx, dword [esp + 0x38]
push 0x442078
push edx
mov edx, 0xf3c
mov eax, ebx
mov edi, 0x80004005
call fcn.004a49f0
add esp, 8
jmp 0x4baaa8
test esi, esi
jbe 0x4b8d79
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x40]
sub edi, ecx
mov eax, dword [edi + ecx]
mov eax, dword [eax + 8]
and eax, 1
xor edx, edx
or eax, edx
je 0x4b8da8
mov eax, dword [ecx]
mov eax, dword [eax + 8]
and eax, 1
or eax, edx
je 0x4b8da8
mov eax, dword [esp + 0x60]
inc eax
add ecx, 4
mov dword [esp + 0x60], eax
cmp eax, esi
jb 0x4b8d40
test esi, esi
jbe 0x4b8d79
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0x17
push edx
push eax
mov eax, dword [esp + 0x50]
mov edx, esi
and edx, 0xfffff
push ecx
or edx, 0x20500000
push edx
push eax
jmp 0x4b82a3
lea edi, [esi + esi*2]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x80]
lea ecx, [esi + esi*2]
test ecx, ecx
jbe 0x4b8dd6
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 0xc]
push 0
push 0
lea ecx, [edx + esi*4]
mov dword [esp + 0x9c], ecx
lea eax, [edx + esi*8]
mov dword [esp + 0xa0], eax
push 0
or eax, 0xffffffff
push 0
mov ecx, esi
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x54]
push ecx
mov eax, esi
and eax, 0xfffff
push edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x64], eax
or eax, 0x20500000
push eax
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x3c]
push ecx
push edx
push eax
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov eax, dword [ebp + 0xc]
push 0
push 0
push 0
push 0x17
push ecx
push edx
push eax
mov eax, dword [esp + 0x64]
or eax, 0x20200000
jmp 0x4b829d
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov edx, dword [ebx + 8]
test byte [edx + 0xb2], 0x40
mov esi, dword [esp + 0x3c]
je 0x4b8f5f
mov dword [esp + 0x60], 0
test esi, esi
jbe 0x4b8f0d
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x40]
sub edi, ecx
lea esp, [esp]
mov eax, dword [edi + ecx]
mov eax, dword [eax + 8]
and eax, 0x80000000
xor edx, edx
or eax, edx
je 0x4b8f3c
mov eax, dword [ecx]
mov eax, dword [eax + 8]
and eax, 0x80000000
or eax, edx
je 0x4b8f3c
mov eax, dword [esp + 0x60]
inc eax
add ecx, 4
mov dword [esp + 0x60], eax
cmp eax, esi
jb 0x4b8ed0
test esi, esi
jbe 0x4b8f0d
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
mov eax, dword [ebp + 0xc]
push 0
push 0
push 0
push 0x17
push ecx
push edx
mov edx, dword [esp + 0x50]
mov ecx, esi
and ecx, 0xfffff
push eax
or ecx, 0x23100000
push ecx
push edx
jmp 0x4b82a3
mov eax, dword [esp + 0x38]
push 0x4420a8
push eax
mov edx, 0xf3d
mov eax, ebx
mov edi, 0x80004005
call fcn.004a49f0
add esp, 8
jmp 0x4baaa8
lea edi, [esi*4]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x80]
lea ecx, [esi*4]
test ecx, ecx
jbe 0x4b8f95
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [edx + esi*4]
lea ecx, [edx + esi*8]
mov dword [esp + 0x94], eax
lea eax, [esi + esi*2]
mov dword [esp + 0x98], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x9c], ecx
test esi, esi
jbe 0x4b8fc4
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
push eax
push 0
push edx
push ecx
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x38]
push edx
push 0
push eax
push ecx
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x80]
push 0
push 0
push 0
push 4
push edx
mov edx, dword [esp + 0xac]
push ecx
mov eax, esi
and eax, 0xfffff
mov dword [esp + 0x60], eax
push edx
or eax, 0x20400000
push eax
mov eax, dword [esp + 0x58]
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x48]
push 0
push 0
push 0
push 8
push 0
push ecx
mov ecx, dword [esp + 0x50]
push edx
or eax, 0x10100000
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x9c]
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0x17
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x60]
push ecx
or eax, 0x20200000
push eax
push edx
jmp 0x4b82a3
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
test esi, esi
jbe 0x4b90e7
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push eax
push ecx
mov ecx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push edx
or eax, 0x20500000
push eax
push ecx
jmp 0x4b8303
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov edx, dword [ebx + 8]
test byte [edx + 0xb2], 0x40
mov esi, dword [esp + 0x3c]
je 0x4b917a
test esi, esi
jbe 0x4b914d
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push eax
push ecx
mov ecx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push edx
or eax, 0x20800000
push eax
push ecx
jmp 0x4b8303
mov edi, esi
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
test esi, esi
jbe 0x4b91b1
mov edi, dword [esp + 0x80]
or eax, 0xffffffff
mov ecx, esi
rep stosd dword es:[edi], eax
test esi, esi
jbe 0x4b91b1
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x80]
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push ecx
mov dword [esp + 0x64], eax
or eax, 0x10300000
push eax
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
or eax, 0x20500000
push eax
mov eax, dword [esp + 0x58]
push eax
jmp 0x4b82a3
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
lea edi, [esi*8]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x80]
lea ecx, [esi*8]
test ecx, ecx
jbe 0x4b9271
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [esi*4]
lea ecx, [edx + eax]
mov dword [esp + 0x94], ecx
lea ecx, [edx + esi*8]
mov dword [esp + 0x98], ecx
lea ecx, [esi + esi*2]
lea ecx, [edx + ecx*4]
mov dword [esp + 0x9c], ecx
lea eax, [edx + eax*4]
lea ecx, [esi + esi*4]
mov dword [esp + 0xa0], eax
lea eax, [edx + ecx*4]
lea ecx, [esi + esi*2]
mov dword [esp + 0xa4], eax
lea eax, [edx + ecx*8]
lea ecx, [esi*8]
sub ecx, esi
lea edx, [edx + ecx*4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
test esi, esi
jbe 0x4b92de
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
je 0x4b9553
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0xe0]
push eax
push 0
call edx
test al, al
je 0x4b9524
mov eax, dword [esp + 0xe4]
call fcn.004aa0a0
test al, al
je 0x4b9524
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push ecx
mov dword [esp + 0x64], eax
or eax, 0x20500000
push eax
push edx
mov ecx, ebx
mov dword [esp + 0xd4], eax
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x48]
push 0
push 0
push 0
push 0
push 0
push ecx
or eax, 0x10100000
push edx
push eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x58]
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x94]
push 0
push 0
push 0
push 0x17
push ecx
mov ecx, dword [esp + 0x5c]
or ecx, 0x20b00000
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0xac]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x44]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x9c]
push esi
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004ca040
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x48]
push 0
push 0
push 0
push 0x180
push 0
push eax
mov eax, dword [esp + 0x50]
push ecx
or edx, 0x10300000
push edx
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xa8]
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x38]
push 0
push 0
push 0
push 4
push 0
push eax
mov eax, dword [esp + 0x60]
push ecx
or eax, 0x10400000
push eax
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa0]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0xc4]
jmp 0x4b8298
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0xc]
push 0
push 0
push 0
push 0
push edx
push eax
mov eax, dword [esp + 0x50]
mov edx, esi
and edx, 0xfffff
push ecx
or edx, 0x20900000
push edx
push eax
jmp 0x4b8303
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x40]
push 0
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push ecx
mov dword [esp + 0x64], eax
or eax, 0x20500000
push eax
push edx
mov ecx, ebx
mov dword [esp + 0xd4], eax
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x48]
push 0
push 0
push 0
push 0
push 0
push ecx
or eax, 0x10100000
push edx
push eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x58]
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [esp + 0x94]
push 0
push 0
push 0
push 0x17
push ecx
mov ecx, dword [esp + 0x5c]
or ecx, 0x20300000
jmp 0x4b93c1
cmp dword [esp + 0x48], edi
je 0x4baaa3
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x3c]
push edx
mov edx, dword [ecx + 0x14]
mov ecx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0xc8]
push edx
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [esp + 0x48]
push ecx
push esi
push edx
push eax
mov ecx, ebx
call fcn.004b4d80
jmp 0x4b830a
cmp esi, edi
je 0x4baaa3
mov eax, dword [ecx + 0x28]
cmp eax, edi
je 0x4baaa3
mov ecx, dword [eax + 4]
cmp ecx, 6
jne 0x4b9690
cmp dword [eax + 0x18], 2
jne 0x4baaa3
mov esi, dword [esp + 0x3c]
cmp dword [ebp + 0xc], edi
je 0x4b9b6e
mov edx, dword [eax + 0x20]
mov eax, dword [esp + 0x40]
lea ecx, [esi*4]
push ecx
lea ecx, [eax + edx*4]
mov edx, dword [ebp + 0xc]
push ecx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x4b9b6e
cmp ecx, 1
jne 0x4baaa3
mov esi, dword [esp + 0x3c]
cmp dword [ebp + 0xc], edi
je 0x4b9b6e
xor ecx, ecx
test esi, esi
jbe 0x4b9b70
mov edx, dword [eax + 8]
mov edx, dword [edx + 0x20]
mov edi, dword [esp + 0x40]
mov edx, dword [edi + edx*4]
mov edi, dword [ebp + 0xc]
mov dword [edi + ecx*4], edx
mov eax, dword [eax + 0xc]
inc ecx
cmp ecx, esi
jb 0x4b96b0
jmp 0x4b9b6e
cmp esi, edi
je 0x4baaa3
mov eax, dword [esi + 0x14]
push 5
call fcn.00450d20
test al, al
je 0x4baaa3
cmp dword [esp + 0xc0], 4
jne 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x4b9d67
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
push 4
mov dword [esp + 0x94], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x98], edx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x94]
push eax
push 0
push 0
push ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
call fcn.004a3310
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edi, dword [esp + 0x90]
test byte [edi + 0xf], 1
je 0x4baaa3
mov eax, dword [edi + 0x8c]
push 5
call fcn.00450d20
test al, al
je 0x4b97db
mov eax, dword [edi + 0x8c]
mov eax, dword [eax + 0x14]
push 5
call fcn.0049da60
test al, al
jne 0x4b97db
cmp dword [edi + 0x90], 0xffffffff
je 0x4baaa3
mov ecx, dword [edi + 0x8c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp esi, eax
ja 0x4baaa3
mov edx, dword [esp + 0x90]
mov eax, dword [edx + 0x90]
lea ecx, [esi*4]
push ecx
mov ecx, dword [ebx + 0x1c]
lea edx, [ecx + eax*4]
mov eax, dword [ebp + 0xc]
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x4b9b6e
mov ecx, dword [ebx + 8]
test byte [ecx + 0xb8], 2
jne 0x4b980d
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov ecx, dword [esp + 0x38]
push eax
push 0x4420d4
push ecx
mov edx, 0xdd8
mov eax, ebx
call fcn.004a49f0
add esp, 0xc
jmp 0x4baaa3
mov edx, dword [ecx + 0x36f8]
mov eax, dword [esp + 0x94]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0x70], edi
mov dword [esp + 0x60], 0
test esi, esi
jbe 0x4b989d
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x44], ecx
nop
fldz
mov edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x44]
mov ecx, dword [ebx + 8]
sub esp, 8
fstp qword [esp]
push 0
push 0
push 0
push 0
push edx
push eax
push ecx
call fcn.00508980
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
mov ecx, dword [esp + 0x70]
mov dword [edx + 0x20], ecx
mov edx, dword [eax]
mov ecx, dword [esp + 0xc0]
mov dword [edx + 0x24], ecx
mov ecx, dword [esp + 0x60]
inc ecx
add eax, 4
mov dword [esp + 0x60], ecx
mov dword [esp + 0x44], eax
cmp ecx, esi
jb 0x4b9840
mov edx, dword [esp + 0xb0]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, dword [ecx + 0x14]
push eax
mov eax, dword [esp + 0x60]
push edx
push eax
mov ecx, ebx
call fcn.004af880
mov edi, eax
test edi, edi
jl 0x4baaa8
xor eax, eax
test esi, esi
jbe 0x4b9b70
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + eax*4]
mov edi, dword [ecx + 0x28]
mov dword [ecx + 0xa4], edi
mov ecx, dword [edx + eax*4]
inc eax
mov dword [ecx + 0x1c], 0
cmp eax, esi
jb 0x4b98e0
jmp 0x4b9b6e
cmp esi, edi
je 0x4baaa3
cmp dword [esp + 0x48], edi
je 0x4baaa3
cmp dword [ebp + 0xc], edi
je 0x4b9b6a
mov esi, dword [esp + 0x3c]
lea edi, [esi + esi*2]
lea eax, [esp + 0x80]
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x80]
lea ecx, [esi + esi*2]
test ecx, ecx
jbe 0x4b9950
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [edx + esi*4]
lea ecx, [edx + esi*8]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x70], 0
test esi, esi
jbe 0x4b9a0e
mov eax, dword [esp + 0x58]
lea ecx, [eax + esi*4]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x40]
sub ecx, eax
sub eax, edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x60], eax
lea esp, [esp]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
add eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [ecx + eax]
lea edi, [esp + 0x7f]
mov esi, ebx
call fcn.004a3690
test eax, eax
jl 0x4b9a03
cmp byte [esp + 0x7f], 0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x48]
jne 0x4b99e0
mov edx, dword [esp + 0x44]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [esp + 0x70]
mov ecx, 4
add dword [esp + 0x44], ecx
add dword [esp + 0xb0], ecx
inc eax
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0x3c]
jb 0x4b99a0
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x80]
cmp dword [esp + 0x70], esi
jne 0x4b9a48
test esi, esi
jbe 0x4b9a22
mov edi, dword [ebp + 0xc]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x38]
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, dword [ebp + 0xc]
mov eax, esi
and eax, 0xfffff
push edx
or eax, 0x10000000
push eax
push ecx
jmp 0x4b8303
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
je 0x4b9a78
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x58]
push esi
push ecx
mov ecx, dword [esp + 0x40]
push eax
lea edx, [eax + esi*4]
mov eax, dword [ebp + 0xc]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.004ca040
jmp 0x4b830a
test esi, esi
jbe 0x4b9aa8
or eax, 0xffffffff
mov ecx, esi
mov edi, edx
rep stosd dword es:[edi], eax
test esi, esi
jbe 0x4b9aa8
mov edi, dword [esp + 0x94]
or eax, eax
mov ecx, esi
rep stosd dword es:[edi], eax
test esi, esi
jbe 0x4b9aa8
mov edi, dword [esp + 0x98]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
push eax
push ecx
push edx
mov edx, dword [esp + 0x44]
push edx
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
push 0
push 0
push 0
push 0x17
push eax
push ecx
mov ecx, dword [esp + 0x50]
mov eax, esi
and eax, 0xfffff
push edx
or eax, 0x20200000
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x58]
mov ecx, dword [ebp + 0xc]
push esi
push edx
mov edx, dword [esp + 0x40]
push eax
lea eax, [eax + esi*4]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004ca040
jmp 0x4b82aa
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, ebx
call fcn.004ebea0
jmp 0x4b9b60
mov edx, dword [ebp + 0xc]
push 0
push edx
mov eax, ecx
push eax
jmp 0x4b9b5a
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push 1
push ecx
push edx
push ebx
call fcn.004bb150
mov edi, eax
test edi, edi
jl 0x4baaa8
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x4b9d67
cmp dword [esp + 0x54], 0
je 0x4b9d67
cmp dword [esp + 0x6c], 0
je 0x4b9d67
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x3668]
or eax, 0xffffffff
mov dword [esp + 0x44], edx
xor edx, edx
mov dword [esp + 0xb0], eax
test esi, esi
jbe 0x4b9c2c
mov edi, dword [esp + 0x54]
mov ecx, dword [edi + edx*4]
cmp dword [ecx + 0x38], 0xffffffff
jne 0x4b9bda
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 8]
and eax, 0x8000000
xor edi, edi
or eax, edi
je 0x4b7faf
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0xb0]
test edx, edx
jne 0x4b9c08
cmp dword [ecx + 0x10], edx
jne 0x4b9bf5
cmp edx, esi
jae 0x4b9bf5
inc edx
cmp edx, esi
jae 0x4b9bef
mov ecx, dword [edi + edx*4]
cmp dword [ecx + 0x10], 0
je 0x4b9be3
mov eax, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0xb0], eax
mov dword [esp + 0x44], ecx
jmp 0x4b9c27
cmp dword [ecx + 0x24], eax
jne 0x4b9c9d
cmp eax, 0xffffffff
je 0x4b9c27
mov ecx, dword [ecx + 0x10]
cmp ecx, dword [esp + 0x44]
je 0x4b9c27
test ecx, ecx
jne 0x4b9cac
inc edx
cmp edx, esi
jb 0x4b9bb1
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x38]
push esi
push eax
push eax
push edx
push ebx
call fcn.004a17c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 8]
or edi, 0xffffffff
cmp dword [esp + 0xb0], edi
je 0x4b9cbb
mov eax, dword [eax + 0xc]
mov dword [esp + 0x64], eax
mov eax, ecx
and eax, 2
xor edx, edx
or eax, edx
je 0x4b9d09
and ecx, 0x8000000
xor eax, eax
or ecx, eax
je 0x4b9d09
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x38]
push esi
push ecx
push edx
push eax
mov ecx, ebx
call fcn.004b4790
jmp 0x4b9d36
mov eax, dword [esp + 0x38]
push 0x442124
push eax
jmp 0x4baa97
mov ecx, dword [esp + 0x38]
push 0x44214c
push ecx
jmp 0x4baa97
mov edx, dword [eax + 0xc]
mov eax, ecx
mov dword [esp + 0x64], edx
and eax, 2
xor edx, edx
or eax, edx
je 0x4b9d09
and ecx, 0x8000000
xor eax, eax
or ecx, eax
je 0x4b9d09
mov ecx, dword [esp + 0x54]
test esi, esi
jbe 0x4b9cec
mov edx, dword [ecx + eax*4]
inc eax
mov dword [edx + 0x24], edi
cmp eax, esi
jb 0x4b9ce1
mov eax, dword [esp + 0x6c]
push esi
push eax
push ecx
mov ecx, dword [esp + 0x44]
push ecx
mov ecx, ebx
call fcn.004b4790
test eax, eax
jl 0x4baaa3
jmp 0x4b9d40
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x38]
push 0
push 0
push 0
push 0
push 0
push edx
and esi, 0xfffff
push eax
or esi, 0x10000000
push esi
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baaa8
cmp dword [ebp + 0xc], 0
je 0x4baa8d
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
lea eax, [edx*4]
mov edx, dword [ebp + 0xc]
push eax
push ecx
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [ebp + 0xc], 0
je 0x4baa8d
cmp byte [esp + 0xc8], 0
jne 0x4b9da4
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4b9da4
cmp byte [ebp + 0x14], 0
jne 0x4b9da4
push eax
mov eax, dword [ebp + 0xc]
push eax
push eax
mov eax, dword [esp + 0x44]
push eax
push ebx
call fcn.004a17c0
mov edi, eax
test edi, edi
jl 0x4baaa8
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x20], 2
je 0x4baa8d
mov eax, dword [ebx + 0x15c]
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jbe 0x4b9e33
lea esi, [eax + eax]
test eax, eax
jne 0x4b9dcb
mov esi, 0x10
cmp esi, ecx
jae 0x4b9dd6
nop
add esi, esi
cmp esi, ecx
jb 0x4b9dd0
xor ecx, ecx
lea eax, [esi + esi]
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
add esp, 4
test edi, edi
jne 0x4b9e18
mov eax, dword [esp + 0x38]
push 0x4397f8
push eax
xor edx, edx
mov eax, ebx
call fcn.004a49f0
add esp, 8
mov edi, 0x8007000e
jmp 0x4baaa8
mov ecx, dword [ebx + 0x158]
push ecx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebx + 0x158], edi
mov dword [ebx + 0x15c], esi
mov eax, dword [ebx + 0x158]
mov edi, dword [esp + 0x3c]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x14]
lea esi, [eax + edi*8]
mov dword [esp + 0x54], eax
mov eax, ebx
mov dword [esp + 0x6c], esi
call fcn.004a2ec0
mov eax, dword [ebx + 8]
test byte [eax + 0xb2], 0x40
je 0x4ba19b
xor eax, eax
mov ecx, 0x42
mov esi, 0x551d98
lea edi, [esp + 0x138]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x70], eax
cmp dword [esp + 0x3c], eax
jbe 0x4b9fc6
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x6c]
sub edi, edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0x44], edi
lea ecx, [ecx]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0xc0], ecx
test ecx, ecx
je 0x4ba17e
cmp byte [ebp + 0x14], 0
mov dword [edx], 0
mov dword [edx + 4], 0
je 0x4b9ee6
mov esi, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
and esi, 0x80000000
and ecx, 0x70001ff
mov dword [edi + edx], esi
mov dword [edi + edx + 4], ecx
jmp 0x4b9fad
cmp byte [esp + 0xc8], 0
jne 0x4b9fad
mov esi, dword [ebx + 8]
mov esi, dword [esi + 0x3668]
cmp esi, dword [ecx + 0x10]
je 0x4b9fad
lea esi, [esp + 0x140]
mov dword [esp + 0x60], 0xb
jmp 0x4b9f27
mov ecx, dword [esp + 0xc0]
mov edi, dword [edi + edx]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x44]
mov edi, dword [edi + edx + 4]
and eax, 0x80000000
and ecx, 0x70001ff
mov dword [esp + 0x4c], edi
cmp eax, dword [esp + 0x48]
jne 0x4b9f55
cmp ecx, edi
je 0x4b9f97
mov edx, dword [esi - 8]
and edx, dword [esp + 0x48]
mov dword [esp + 0x58], edx
mov edx, dword [esi - 4]
and edx, dword [esp + 0x4c]
mov edi, dword [esp + 0x58]
or edi, edx
je 0x4b9f90
and eax, dword [esi]
and ecx, dword [esi + 4]
or eax, ecx
je 0x4b9f90
mov edx, dword [esp + 0xb0]
mov eax, dword [esi + 0xc]
inc dword [esi + 8]
mov dword [edx], eax
mov dword [edx + 4], 0
jmp 0x4b9f97
mov edx, dword [esp + 0xb0]
mov edi, dword [esp + 0x44]
add esi, 0x18
sub dword [esp + 0x60], 1
jne 0x4b9f20
mov eax, dword [esp + 0x70]
inc eax
add edx, 8
mov dword [esp + 0x70], eax
mov dword [esp + 0xb0], edx
cmp eax, dword [esp + 0x3c]
jb 0x4b9ea0
lea ecx, [esp + 0x148]
mov dword [esp + 0x44], 0
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0xb0]
mov esi, dword [edx]
mov dword [esp + 0x60], esi
test esi, esi
je 0x4ba114
mov eax, dword [ebx + 8]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], eax
lea edi, [esi + esi]
lea eax, [esp + 0x90]
mov dword [esp + 0x98], 2
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4ba18a
mov edx, dword [esp + 0x90]
xor eax, eax
lea ecx, [edx + esi*4]
mov dword [esp + 0x74], ecx
cmp dword [esp + 0x3c], eax
jbe 0x4ba08c
mov ecx, dword [esp + 0xb0]
mov ecx, dword [ecx + 4]
mov dword [esp + 0xc8], ecx
mov ecx, edx
mov esi, dword [esp + 0x54]
mov esi, dword [esi + eax*8]
cmp esi, dword [esp + 0xc8]
jne 0x4ba081
mov esi, dword [esp + 0x54]
mov edi, dword [esi + eax*8 + 4]
xor esi, esi
cmp edi, esi
jne 0x4ba081
mov esi, dword [ebp + 0xc]
mov esi, dword [esi + eax*4]
mov dword [ecx], esi
add ecx, 4
inc eax
cmp eax, dword [esp + 0x3c]
jb 0x4ba058
mov esi, dword [esp + 0x60]
test esi, esi
jbe 0x4ba09b
mov edi, dword [esp + 0x74]
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0xb0]
mov esi, dword [eax + 4]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x38]
push 0
push 0
push 0
push 0
push 0
push edx
mov edx, esi
xor edx, dword [esp + 0x78]
push ecx
and edx, 0xfffff
xor edx, esi
push edx
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4ba18a
xor eax, eax
cmp dword [esp + 0x3c], eax
jbe 0x4ba108
mov ecx, dword [esp + 0x74]
mov edx, dword [ebp + 0xc]
lea esp, [esp]
mov edi, dword [esp + 0x54]
cmp dword [edi + eax*8], esi
jne 0x4ba101
mov edi, dword [ecx]
mov dword [edx + eax*4], edi
add ecx, 4
inc eax
cmp eax, dword [esp + 0x3c]
jb 0x4ba0f0
lea esi, [esp + 0x90]
call fcn.0047fcb0
mov eax, dword [esp + 0x44]
add dword [esp + 0xb0], 0x18
inc eax
mov dword [esp + 0x44], eax
cmp eax, 0xb
jb 0x4b9fdc
xor ecx, ecx
cmp dword [esp + 0x3c], ecx
jbe 0x4baa8d
mov edx, dword [esp + 0x6c]
mov esi, 0xf8fffe00
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4ba170
and dword [eax + 8], 0x7fffffff
and dword [eax + 0xc], esi
mov edi, dword [edx + ecx*8]
mov ebx, dword [edx + ecx*8 + 4]
and edi, 0x80000000
or dword [eax + 8], edi
and ebx, 0x70001ff
or dword [eax + 0xc], ebx
inc ecx
cmp ecx, dword [esp + 0x3c]
jb 0x4ba143
xor edi, edi
jmp 0x4baaa8
push 0x441d94
push 0
jmp 0x4baa97
lea esi, [esp + 0x90]
call fcn.0047fcb0
jmp 0x4baaa8
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x60], ecx
cmp dword [esp + 0x3c], edi
jbe 0x4ba9d7
mov eax, esi
mov esi, dword [esp + 0x54]
sub esi, eax
mov dword [esp + 0xc0], esi
jmp 0x4ba1c8
xor edi, edi
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + ecx*4]
and dword [eax], 0x80000003
and dword [eax + 4], 0x70001ff
cmp edx, edi
je 0x4ba3bf
cmp byte [esp + 0xc8], 0
je 0x4ba1f9
mov dword [esi + eax], edi
mov dword [esi + eax + 4], edi
jmp 0x4ba2bf
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x3668]
mov dword [esp + 0xb0], ecx
cmp ecx, dword [edx + 0x10]
je 0x4ba2b0
mov ecx, dword [eax]
and ecx, 1
xor edi, edi
or ecx, edi
je 0x4ba237
mov ecx, dword [edx + 8]
and ecx, 1
or ecx, edi
jne 0x4ba237
inc dword [esp + 0x44]
mov dword [esi + eax], 1
jmp 0x4ba2b7
mov ecx, dword [esp + 0xb0]
cmp ecx, dword [edx + 0x10]
je 0x4ba2b0
mov ecx, dword [eax]
mov dword [esp + 0x48], ecx
and ecx, 2
xor edi, edi
or ecx, edi
je 0x4ba2b0
mov ecx, dword [edx + 8]
and ecx, 2
xor edx, edx
or ecx, edx
jne 0x4ba2b0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x20], ecx
jne 0x4ba3af
mov ecx, edx
mov ecx, dword [ecx + 0x14]
xor edx, edx
test ecx, ecx
je 0x4ba291
cmp dword [ecx + 4], 0xa
jne 0x4ba291
mov esi, dword [ecx + 0x18]
or edi, esi
mov esi, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x20]
or edx, esi
mov esi, dword [esp + 0xc0]
jmp 0x4ba271
and edi, 0x400000
xor ecx, ecx
or edi, ecx
je 0x4ba3af
mov ecx, dword [esp + 0x48]
and ecx, 0xfffffffd
mov dword [eax], ecx
mov ecx, dword [eax + 4]
mov dword [eax + 4], ecx
mov dword [esi + eax], 0
mov dword [esi + eax + 4], 0
mov ecx, dword [esp + 0x60]
inc ecx
add eax, 8
mov dword [esp + 0x60], ecx
cmp ecx, dword [esp + 0x3c]
jb 0x4ba1c6
cmp dword [esp + 0x44], 0
je 0x4ba486
mov edx, dword [ebx + 8]
mov esi, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xbc], eax
lea edi, [esi*4]
lea eax, [esp + 0xb0]
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], 2
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4ba535
mov edx, dword [esp + 0xb0]
lea eax, [edx + esi*8]
lea ecx, [esi + esi*2]
mov dword [esp + 0x98], eax
lea edi, [edx + esi*4]
lea eax, [edx + ecx*4]
mov dword [esp + 0x94], edi
mov dword [esp + 0x9c], eax
test esi, esi
jbe 0x4ba36a
or eax, 0xffffffff
mov ecx, esi
rep stosd dword es:[edi], eax
test esi, esi
jbe 0x4ba36a
mov edi, dword [esp + 0x98]
mov ecx, esi
or eax, eax
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x54]
mov ecx, edx
xor eax, eax
sub ecx, dword [esp + 0x9c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x9c]
cmp dword [edi + eax*8], 1
jne 0x4ba3dc
cmp dword [edi + eax*8 + 4], 0
jne 0x4ba3dc
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + eax*4]
mov edi, dword [esp + 0x44]
mov dword [edi + ecx], edx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x20], 0
je 0x4ba3c9
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + eax*4]
jmp 0x4ba3cc
inc dword [esp + 0x70]
mov dword [esi + eax], 2
jmp 0x4ba2b7
push 0x441d94
jmp 0x4baa96
or edx, 0xffffffff
mov edi, dword [esp + 0x54]
mov dword [ecx], edx
mov edx, dword [esp + 0xb0]
add ecx, 4
inc eax
cmp eax, dword [esp + 0x3c]
jb 0x4ba384
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
push ebx
mov eax, esi
call fcn.004a1bf0
mov edi, eax
test edi, edi
jl 0x4ba535
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
push 0
push 0
push 0
push 0x17
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
and esi, 0xfffff
or esi, 0x20200000
push esi
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4ba535
mov ecx, dword [esp + 0x9c]
mov esi, dword [ebp + 0xc]
mov edx, dword [esp + 0x54]
xor eax, eax
cmp dword [edx + eax*8], 1
jne 0x4ba473
cmp dword [edx + eax*8 + 4], 0
jne 0x4ba473
mov edi, dword [ecx]
mov dword [esi + eax*4], edi
add ecx, 4
inc eax
cmp eax, dword [esp + 0x3c]
jb 0x4ba45e
lea esi, [esp + 0xb0]
call fcn.0047fcb0
cmp dword [esp + 0x70], 0
je 0x4ba9d7
mov esi, dword [esp + 0x70]
mov ecx, dword [ebx + 8]
mov edi, esi
imul edi, edi, 0xb
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], 2
call fcn.0047fc00
mov edi, eax
test edi, edi
jl 0x4ba18a
mov ecx, dword [esp + 0x90]
xor eax, eax
lea edx, [esi*4]
mov dword [esp + eax*4 + 0xe0], ecx
inc eax
add ecx, edx
cmp eax, 0xb
jb 0x4ba4e5
mov ecx, dword [esp + 0x108]
mov edi, dword [esp + 0xe0]
mov esi, dword [ebp + 0xc]
xor eax, eax
sub edi, ecx
mov dword [esp + 0xc8], edi
mov edx, dword [esp + 0x54]
cmp dword [edx + eax*8], 2
jne 0x4ba54e
cmp dword [edx + eax*8 + 4], 0
jne 0x4ba54e
mov edx, dword [esi + eax*4]
mov dword [edi + ecx], edx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x20], 0
je 0x4ba546
mov edx, dword [esi + eax*4]
jmp 0x4ba549
lea esi, [esp + 0xb0]
call fcn.0047fcb0
jmp 0x4baaa8
or edx, 0xffffffff
mov dword [ecx], edx
add ecx, 4
inc eax
cmp eax, dword [esp + 0x3c]
jb 0x4ba510
mov esi, dword [esp + 0x70]
mov edx, 1
mov edi, edi
mov edi, dword [esp + edx*4 + 0xe0]
test esi, esi
jbe 0x4ba572
mov ecx, esi
or eax, 0xffffffff
rep stosd dword es:[edi], eax
inc edx
cmp edx, 0xa
jb 0x4ba560
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x50]
and esi, 0xfffff
push ecx
mov edx, esi
or edx, 0x10200000
push edx
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xe8]
push 0
push 0
push 0
push 0x14
push 0
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov eax, esi
or eax, 0x10400000
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov edx, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
push 0
push 0
push 0
push 0x18
push 0
push edx
mov edx, dword [esp + 0x50]
push ecx
mov eax, esi
or eax, 0x10100000
push eax
push edx
mov ecx, ebx
mov dword [esp + 0x84], eax
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0xec]
push 0
push 0
push 0
push 2
push ecx
mov ecx, dword [esp + 0x104]
push edx
mov edx, dword [esp + 0x50]
push ecx
mov eax, esi
or eax, 0x20400000
push eax
push edx
mov ecx, ebx
mov dword [esp + 0xd4], eax
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x60]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xe0]
push 0
push 0
push 0
push 0x17
push ecx
mov ecx, dword [esp + 0x10c]
push edx
mov edx, dword [esp + 0x50]
push ecx
mov eax, esi
or eax, 0x20200000
push eax
push edx
mov ecx, ebx
mov dword [esp + 0x68], eax
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0x60]
push 0
push 0
push 0
push 0
push 0
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x100]
push 0
push 0
push 0
push 0x17
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x104]
push 0
push 0
push 0
push 0x17
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
or esi, 0x20500000
push esi
push eax
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xf0]
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0xb0]
push 0
push 0
push 0
push 2
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push esi
push eax
push ecx
mov ecx, ebx
call fcn.004b14c0
mov edi, eax
test edi, edi
jl 0x4baa35
mov edx, dword [esp + 0x54]
xor ecx, ecx
mov eax, esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], eax
lea esp, [esp]
cmp dword [edx + ecx*8], 2
jne 0x4ba9bc
cmp dword [edx + ecx*8 + 4], 0
jne 0x4ba9bc
mov edx, dword [esp + 0xc8]
mov ecx, dword [eax + edx]
mov esi, dword [eax]
mov edx, dword [ecx + 8]
mov eax, edx
and eax, 0x800
xor edi, edi
or eax, edi
je 0x4ba830
mov eax, dword [ecx + 0xc]
or edx, 0x7000
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov eax, dword [ecx + 8]
and eax, 0x1000
xor edx, edx
or eax, edx
je 0x4ba9a1
fld qword [ecx + 0xc0]
sub esp, 8
fst qword [esp + 0xb8]
fld qword [ecx + 0xc8]
fstp qword [esp + 0x78]
fstp qword [esp]
call sub.msvcrt.dll__finite
add esp, 8
test eax, eax
je 0x4ba8aa
fldz
sub esp, 8
fld qword [esp + 0xb8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x4ba895
fadd qword [ebx + 0x170]
fstp qword [esp]
call sub.msvcrt.dll_floor
add esp, 8
jmp 0x4ba8b1
fsubr qword [ebx + 0x170]
fstp qword [esp]
call sub.msvcrt.dll_floor
add esp, 8
fchs
jmp 0x4ba8b1
fld qword [esp + 0xb0]
fstp qword [esp + 0xb0]
sub esp, 8
fld qword [esp + 0x78]
fstp qword [esp]
call sub.msvcrt.dll__finite
add esp, 8
test eax, eax
je 0x4ba90a
fldz
sub esp, 8
fld qword [esp + 0x78]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x4ba8f5
fadd qword [ebx + 0x170]
fstp qword [esp]
call sub.msvcrt.dll_floor
add esp, 8
jmp 0x4ba90e
fsubr qword [ebx + 0x170]
fstp qword [esp]
call sub.msvcrt.dll_floor
add esp, 8
fchs
jmp 0x4ba90e
fld qword [esp + 0x70]
fst qword [esp + 0x70]
fld qword [esp + 0xb0]
fst qword [esp + 0xc0]
fst qword [esi + 0xc0]
fxch st(1)
fst qword [esp + 0x48]
fst qword [esi + 0xc8]
fld st(0)
fucomp st(2)
fnstsw ax
test ah, 0x44
jp 0x4ba971
mov eax, dword [esp + 0xc0]
cmp eax, dword [esp + 0x48]
jne 0x4ba971
mov ecx, dword [esp + 0xc4]
cmp ecx, dword [esp + 0x4c]
jne 0x4ba971
sub esp, 8
fstp st(0)
mov eax, esi
fstp qword [esp]
call fcn.00505050
fld qword [esp + 0xb0]
fld qword [esp + 0x70]
or dword [esi + 8], 0x1000
fucompp
mov edx, dword [esi + 0xc]
mov dword [esi + 0xc], edx
fnstsw ax
test ah, 0x44
jp 0x4ba995
or dword [esi + 8], 0x800
mov eax, edx
mov dword [esi + 0xc], eax
jmp 0x4ba9a1
and dword [esi + 8], 0xfffff7ff
mov ecx, edx
mov dword [esi + 0xc], ecx
mov eax, dword [esp + 0x60]
mov edx, dword [eax]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x44]
add eax, 4
mov dword [esi + ecx*4], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x60], eax
inc ecx
mov dword [esp + 0x44], ecx
cmp ecx, dword [esp + 0x3c]
jb 0x4ba7f0
lea esi, [esp + 0x90]
call fcn.0047fcb0
xor edx, edx
cmp dword [esp + 0x3c], edx
jbe 0x4baa8d
mov edi, dword [esp + 0x6c]
mov esi, dword [edi + edx*8 + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + edx*4]
mov ecx, dword [edi + edx*8]
or dword [eax + 8], ecx
and esi, 0xfffffedb
or dword [eax + 0xc], esi
mov ecx, dword [eax + 0xc]
mov edi, dword [edi + edx*8 + 4]
xor ebx, ebx
mov dword [esp + 0x64], ecx
and ecx, 0x124
mov esi, ebx
and edi, 0x124
or esi, ecx
jne 0x4baa21
mov ecx, edi
cmp dword [eax + 0x7c], 0
jne 0x4baa59
cmp ecx, edi
ja 0x4baa65
jb 0x4baa69
xor esi, esi
cmp ebx, esi
jb 0x4baa69
jmp 0x4baa65
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x94]
push eax
mov eax, dword [esp + 0x9c]
call fcn.00467420
jmp 0x4baaa8
cmp ecx, edi
jb 0x4baa65
ja 0x4baa69
xor esi, esi
cmp ebx, esi
ja 0x4baa69
mov ecx, edi
xor ebx, ebx
mov edi, dword [esp + 0x64]
mov esi, dword [eax + 8]
and edi, 0xfffffedb
mov dword [eax + 8], esi
or dword [eax + 8], ebx
mov dword [eax + 0xc], edi
or dword [eax + 0xc], ecx
inc edx
cmp edx, dword [esp + 0x3c]
jb 0x4ba9e3
xor edi, edi
jmp 0x4baaa8
push 0x4420fc
push edi
xor edx, edx
mov eax, ebx
call fcn.004a49f0
add esp, 8
mov edi, 0x80004005
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
push edx
mov edx, dword [esp + 0x88]
call fcn.00467420
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0xdc]
call fcn.00467420
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10