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

Disassembly:
sub esp, 0x34
mov eax, dword [esp + 0x38]
push ebx
mov ecx, dword [esp + 0x40]
push ebp
push esi
mov esi, dword [eax + 8]
push edi
mov edi, dword [eax + 0x6c]
and edi, 4
mov dword [esp + 0x18], edi
je 0x44cc2c
lea eax, [ecx + 0x124]
lea edx, [ecx + 0x1b4]
jmp 0x44cc34
mov eax, ecx
lea edx, [ecx + 0x194]
mov ecx, dword [ecx + 0xec]
dec ecx
cmp ecx, 4
ja case.0x44cc44.4
jmp dword [ecx*4 + 0x44e044]
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov edi, dword [eax]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x68], edx
mov eax, dword [eax + 4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x78], edx
mov dword [esp + 0x14], edi
mov edx, dword [ecx]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [ecx]
mov dword [esp + 0x10], eax
mov edx, dword [edx]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x18]
shl ebx, 4
shl ebp, 4
test edx, edx
je 0x44cd05
mov edx, eax
or edx, edi
test dl, 3
je 0x44ccdb
push 0
mov edx, edi
mov edi, dword [esp + 0x84]
push esi
push eax
push edx
push ebx
lea eax, [edi + 0x60]
push ebp
push eax
lea edx, [edi + 0x40]
lea eax, [edi + 0x20]
push edx
push eax
push ecx
mov ecx, ebx
imul ecx, esi
mov edx, edi
sub edx, ecx
sub edx, ebp
push edx
call fcn.0044e2b0
add esp, 0x2c
jmp 0x44cdad
cdq
and edx, 3
add edx, eax
mov eax, edi
sar edx, 2
add edx, ebx
imul edx, esi
mov dword [esp + 0x68], edx
cdq
and edx, 3
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x68]
sar edi, 2
add ecx, eax
jmp 0x44cda9
mov edx, edi
and eax, 1
and edx, 1
lea eax, [eax + edx*2]
sub eax, 0
je 0x44cd86
dec eax
je 0x44cd60
dec eax
mov eax, dword [esp + 0x10]
je 0x44cd40
dec eax
cdq
sub eax, edx
mov ecx, eax
lea eax, [edi - 1]
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x68]
sar edi, 1
add eax, ecx
add edi, eax
jmp 0x44cdab
cdq
sub eax, edx
mov ecx, eax
lea eax, [edi - 1]
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x64]
sar edi, 1
add eax, ecx
add edi, eax
jmp 0x44cdab
mov edx, dword [esp + 0x10]
lea eax, [edx - 1]
cdq
sub eax, edx
mov ecx, eax
mov eax, edi
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x78]
sar edi, 1
add eax, ecx
add edi, eax
jmp 0x44cdab
mov eax, dword [esp + 0x10]
cdq
sub eax, edx
mov edx, eax
mov eax, edi
sar edx, 1
add edx, ebx
imul edx, esi
mov dword [esp + 0x68], edx
cdq
sub eax, edx
mov edx, dword [esp + 0x68]
mov edi, eax
sar edi, 1
add ecx, edx
add edi, ecx
add edi, ebp
mov eax, ebx
mov edx, dword [esp + 0x6c]
imul eax, esi
mov ecx, dword [esp + 0x7c]
add eax, edx
add eax, ebp
push esi
push edi
push eax
push ecx
mov dword [esp + 0x78], eax
call dword [0x50bb2c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x8c]
lea edx, [edi + 8]
push esi
add eax, 8
push edx
add ecx, 0x80
push eax
push ecx
call dword [0x50bb2c]
add ebx, 8
mov ecx, dword [esp + 0x8c]
imul ebx, esi
add ebx, ecx
lea edx, [edi + esi*8]
add ebp, ebx
mov ebx, dword [esp + 0x9c]
push esi
push edx
lea eax, [ebx + 0x100]
push ebp
push eax
call dword [0x50bb2c]
lea ecx, [edi + esi*8 + 8]
push esi
add ebp, 8
push ecx
add ebx, 0x180
push ebp
push ebx
call dword [0x50bb2c]
mov eax, dword [esp + 0x58]
add esp, 0x40
test eax, eax
je 0x44ce50
mov eax, dword [esp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
jmp 0x44ce58
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
push 0
shr esi, 1
add edx, 0x200
push esi
push edx
mov edx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x6c]
jmp 0x44d09f
mov ecx, dword [esp + 0x78]
mov edi, dword [edx]
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x54]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x68], edx
mov ebp, dword [esp + 0x50]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x60], edx
mov dword [esp + 0x48], edi
mov edx, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x58]
mov ecx, dword [ecx]
mov dword [esp + 0x4c], eax
mov edx, dword [edx]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x18]
shl ebx, 4
shl ebp, 4
test edx, edx
je 0x44cf33
mov edx, eax
or edx, edi
test dl, 3
je 0x44cf09
push 0
mov edx, edi
mov edi, dword [esp + 0x84]
push esi
push eax
push edx
push ebx
lea eax, [edi + 0x60]
push ebp
push eax
lea edx, [edi + 0x40]
lea eax, [edi + 0x20]
push edx
push eax
push ecx
mov ecx, ebx
imul ecx, esi
mov edx, edi
sub edx, ecx
sub edx, ebp
push edx
call fcn.0044e2b0
add esp, 0x2c
jmp 0x44cfdb
cdq
and edx, 3
add edx, eax
mov eax, edi
sar edx, 2
add edx, ebx
imul edx, esi
mov dword [esp + 0x68], edx
cdq
and edx, 3
add eax, edx
mov edi, eax
mov eax, dword [esp + 0x68]
sar edi, 2
add ecx, eax
jmp 0x44cfd7
mov edx, edi
and eax, 1
and edx, 1
lea eax, [eax + edx*2]
sub eax, 0
je 0x44cfb4
dec eax
je 0x44cf8e
dec eax
mov eax, dword [esp + 0x4c]
je 0x44cf6e
dec eax
cdq
sub eax, edx
mov ecx, eax
lea eax, [edi - 1]
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x68]
sar edi, 1
add eax, ecx
add edi, eax
jmp 0x44cfd9
cdq
sub eax, edx
mov ecx, eax
lea eax, [edi - 1]
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x64]
sar edi, 1
add eax, ecx
add edi, eax
jmp 0x44cfd9
mov edx, dword [esp + 0x4c]
lea eax, [edx - 1]
cdq
sub eax, edx
mov ecx, eax
mov eax, edi
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x60]
sar edi, 1
add eax, ecx
add edi, eax
jmp 0x44cfd9
mov eax, dword [esp + 0x4c]
cdq
sub eax, edx
mov edx, eax
mov eax, edi
sar edx, 1
add edx, ebx
imul edx, esi
mov dword [esp + 0x68], edx
cdq
sub eax, edx
mov edx, dword [esp + 0x68]
mov edi, eax
sar edi, 1
add ecx, edx
add edi, ecx
add edi, ebp
mov eax, ebx
mov edx, dword [esp + 0x5c]
imul eax, esi
mov ecx, dword [esp + 0x7c]
add eax, edx
add eax, ebp
push esi
push edi
push eax
push ecx
mov dword [esp + 0x78], eax
call dword [0x50bb2c]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x8c]
lea edx, [edi + 8]
push esi
add eax, 8
push edx
add ecx, 0x80
push eax
push ecx
call dword [0x50bb2c]
add ebx, 8
mov ecx, dword [esp + 0x7c]
imul ebx, esi
add ebx, ecx
lea edx, [edi + esi*8]
add ebp, ebx
mov ebx, dword [esp + 0x9c]
push esi
push edx
lea eax, [ebx + 0x100]
push ebp
push eax
call dword [0x50bb2c]
lea ecx, [edi + esi*8 + 8]
push esi
add ebp, 8
push ecx
add ebx, 0x180
push ebp
push ebx
call dword [0x50bb2c]
mov eax, dword [esp + 0x58]
add esp, 0x40
test eax, eax
je 0x44d07b
mov eax, dword [esp + 0x48]
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, dword [esp + 0x4c]
cdq
sub eax, edx
sar eax, 1
jmp 0x44d083
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x7c]
push 0
shr esi, 1
add edx, 0x200
push esi
push edx
mov edx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x6c]
push edx
mov edx, eax
and edx, 3
sar eax, 1
mov edx, dword [edx*4 + 0x484ed4]
add edx, eax
mov eax, ecx
and eax, 3
push edx
sar ecx, 1
mov edx, dword [eax*4 + 0x484ed4]
add edx, ecx
push edx
call fcn.0044cac0
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov ecx, dword [eax]
mov ebp, dword [edx]
mov eax, dword [eax + 4]
mov edx, dword [edx + 4]
test edi, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], edx
je 0x44d786
mov edx, eax
or edx, ecx
test dl, 3
je 0x44d3e8
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x80]
shl edx, 4
mov edi, edx
mov eax, dword [esp + 0x50]
sub edi, edx
mov dword [esp + 0x68], edx
imul edi, esi
add edi, ebx
mov ebx, dword [esp + 0x10]
shl eax, 4
lea ebx, [ebx + edx*4]
mov edx, dword [esp + 0x5c]
sar ebx, 2
imul ebx, esi
mov dword [esp + 0x60], eax
lea eax, [ecx + eax*4]
sar eax, 2
add ebx, eax
mov eax, dword [edx]
add ebx, eax
mov eax, dword [esp + 0x10]
mov ebp, dword [0x49de60]
and eax, 3
shl eax, 2
and ecx, 3
or eax, ecx
cmp eax, 0xf
ja case.default.0x44d171
jmp dword [eax*4 + 0x44e058]
push esi
push ebx
push edi
call dword [0x50bb30]
lea eax, [ebx + 8]
push esi
lea ecx, [edi + 8]
push eax
push ecx
call dword [0x50bb30]
lea edx, [ebx + esi*8]
push esi
lea eax, [edi + esi*8]
push edx
push eax
call dword [0x50bb30]
lea ecx, [ebx + esi*8 + 8]
push esi
lea edx, [edi + esi*8 + 8]
push ecx
push edx
call dword [0x50bb30]
mov ebp, dword [esp + 0xb0]
add esp, 0x30
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x10
push ebx
push edi
call dword [ebp + 4]
mov ebp, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x10
push ebx
push edi
call dword [ebp]
mov ebp, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x10
push ebx
push edi
call dword [ebp + 8]
mov ebp, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x10
push ebx
push edi
call dword [ebp + 0x10]
mov ebp, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp + 4]
push 0
push esi
lea eax, [ebx + 0x20]
push 0x10
push eax
push edi
call dword [ebp + 0x10]
mov ebp, ebx
add esp, 0x28
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp]
push 0
push esi
lea eax, [ebx + 0x20]
push 0x10
push eax
push edi
call dword [ebp + 0x10]
mov ebp, ebx
add esp, 0x28
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp + 8]
push 0
push esi
lea eax, [ebx + 0x20]
push 0x10
push eax
push edi
call dword [ebp + 0x10]
mov ebp, ebx
add esp, 0x28
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x10
push ebx
push edi
call dword [ebp + 0xc]
mov ebp, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp + 4]
push 0
push esi
lea eax, [ebx + 0x20]
push 0x10
push eax
push edi
call dword [ebp + 0xc]
mov ebp, ebx
add esp, 0x28
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp]
push 0
push esi
lea eax, [ebx + 0x20]
push 0x10
push eax
push edi
call dword [ebp + 0xc]
mov ebp, ebx
add esp, 0x28
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp + 8]
push 0
push esi
lea eax, [ebx + 0x20]
push 0x10
push eax
push edi
call dword [ebp + 0xc]
mov ebp, ebx
add esp, 0x28
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x10
push ebx
push edi
call dword [ebp + 0x14]
mov ebp, dword [esp + 0x94]
add esp, 0x14
mov dword [esp + 0x64], ebp
jmp 0x44d430
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp + 4]
jmp 0x44d3cb
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp]
jmp 0x44d3cb
push 0
push esi
push 0x11
push ebx
mov ebx, dword [esp + 0x90]
lea eax, [ebx + 0x20]
push eax
call dword [ebp + 8]
push 0
push esi
lea eax, [ebx + 0x20]
push 0x10
push eax
push edi
call dword [ebp + 0x14]
add esp, 0x28
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x64], ebp
jmp 0x44d430
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
cdq
and edx, 3
add eax, edx
mov ebp, eax
mov eax, ecx
shl edi, 4
sar ebp, 2
add ebp, edi
mov ecx, dword [esp + 0x5c]
imul ebp, esi
cdq
and edx, 3
mov dword [esp + 0x68], edi
shl ebx, 4
add eax, edx
mov edx, dword [ecx]
mov dword [esp + 0x60], ebx
add ebx, ebp
mov ebp, dword [esp + 0x80]
sar eax, 2
add eax, ebx
add eax, edx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, eax
or edx, ecx
test dl, 3
je 0x44d71c
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
mov edi, edx
mov ebx, dword [0x49de60]
sub edi, edx
lea eax, [ecx + eax*4]
imul edi, esi
sar eax, 2
lea edi, [edi + ebp + 0x10]
and ecx, 3
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x4c]
add ebp, 0x20
lea edi, [edi + edx*4]
mov edx, dword [esp + 0x6c]
sar edi, 2
imul edi, esi
add edi, eax
mov eax, dword [edx]
add edi, eax
mov eax, dword [esp + 0x4c]
and eax, 3
shl eax, 2
or eax, ecx
cmp eax, 0xf
ja case.default.0x44d49a
jmp dword [eax*4 + 0x44e098]
mov ebx, dword [esp + 0x68]
push esi
push edi
push ebx
call dword [0x50bb30]
lea eax, [edi + 8]
push esi
lea ecx, [ebx + 8]
push eax
push ecx
call dword [0x50bb30]
lea edx, [edi + esi*8]
push esi
lea eax, [ebx + esi*8]
push edx
push eax
call dword [0x50bb30]
lea ecx, [edi + esi*8 + 8]
push esi
lea edx, [ebx + esi*8 + 8]
push ecx
push edx
call dword [0x50bb30]
mov eax, dword [esp + 0xb0]
add esp, 0x30
lea ebx, [eax + 0x10]
jmp 0x44d74d
mov eax, dword [esp + 0x68]
push 0
push esi
push 0x10
push edi
push eax
call dword [ebx + 4]
mov eax, dword [esp + 0x94]
add esp, 0x14
lea ebx, [eax + 0x10]
jmp 0x44d74d
mov ecx, dword [esp + 0x68]
push 0
push esi
push 0x10
push edi
push ecx
call dword [ebx]
mov eax, dword [esp + 0x94]
add esp, 0x14
lea ebx, [eax + 0x10]
jmp 0x44d74d
mov edx, dword [esp + 0x68]
push 0
push esi
push 0x10
push edi
push edx
call dword [ebx + 8]
mov eax, dword [esp + 0x94]
add esp, 0x14
lea ebx, [eax + 0x10]
jmp 0x44d74d
mov eax, dword [esp + 0x68]
push 0
push esi
push 0x10
push edi
push eax
call dword [ebx + 0x10]
mov eax, dword [esp + 0x94]
add esp, 0x14
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx + 4]
mov ecx, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push ecx
call dword [ebx + 0x10]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx]
mov edx, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push edx
call dword [ebx + 0x10]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx + 8]
mov eax, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push eax
call dword [ebx + 0x10]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
mov ecx, dword [esp + 0x68]
push 0
push esi
push 0x10
push edi
push ecx
call dword [ebx + 0xc]
mov eax, dword [esp + 0x94]
add esp, 0x14
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx + 4]
mov edx, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push edx
call dword [ebx + 0xc]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx]
mov eax, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push eax
call dword [ebx + 0xc]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx + 8]
mov ecx, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push ecx
call dword [ebx + 0xc]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
mov edx, dword [esp + 0x68]
push 0
push esi
push 0x10
push edi
push edx
call dword [ebx + 0x14]
mov eax, dword [esp + 0x94]
add esp, 0x14
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx + 4]
mov eax, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push eax
call dword [ebx + 0x14]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx]
mov ecx, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push ecx
call dword [ebx + 0x14]
mov eax, dword [esp + 0xa8]
add esp, 0x28
lea ebx, [eax + 0x10]
jmp 0x44d74d
push 0
push esi
push 0x11
push edi
push ebp
call dword [ebx + 8]
mov edx, dword [esp + 0x7c]
push 0
push esi
push 0x10
push ebp
push edx
call dword [ebx + 0x14]
add esp, 0x28
mov eax, dword [esp + 0x80]
lea ebx, [eax + 0x10]
jmp 0x44d74d
cdq
mov ebp, dword [esp + 0x68]
and edx, 3
add eax, edx
mov edi, eax
mov eax, ecx
sar edi, 2
add edi, ebp
mov ecx, dword [esp + 0x6c]
imul edi, esi
cdq
and edx, 3
add eax, edx
mov ebx, eax
mov eax, dword [esp + 0x60]
sar ebx, 2
add eax, edi
add ebx, eax
mov eax, dword [ecx]
add ebx, eax
mov eax, dword [esp + 0x48]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x4c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
jmp 0x44d911
mov edx, ecx
mov edi, eax
and edx, 1
and edi, 1
lea edx, [edi + edx*2]
sub edx, 0
je 0x44d842
dec edx
je 0x44d80a
mov ebx, dword [esp + 0x54]
dec edx
je 0x44d7de
mov edi, dword [esp + 0x50]
shl ebx, 4
shl edi, 4
dec eax
cdq
sub eax, edx
mov edx, eax
lea eax, [ecx - 1]
sar edx, 1
add edx, ebx
mov ecx, edi
imul edx, esi
mov dword [esp + 0x64], edx
cdq
sub eax, edx
mov edx, dword [esp + 0x64]
sar eax, 1
add ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x68]
add eax, dword [ecx]
jmp 0x44d871
cdq
sub eax, edx
mov edi, dword [esp + 0x50]
mov edx, eax
lea eax, [ecx - 1]
shl ebx, 4
sar edx, 1
add edx, ebx
imul edx, esi
mov ecx, edx
cdq
shl edi, 4
sub eax, edx
mov edx, edi
sar eax, 1
add edx, ecx
add eax, edx
mov edx, dword [esp + 0x60]
jmp 0x44d86f
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
shl ebx, 4
shl edi, 4
dec eax
cdq
sub eax, edx
mov edx, eax
mov eax, ecx
sar edx, 1
add edx, ebx
mov ecx, edi
imul edx, esi
mov dword [esp + 0x68], edx
cdq
sub eax, edx
mov edx, dword [esp + 0x68]
sar eax, 1
add ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x64]
add eax, dword [ecx]
jmp 0x44d871
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
cdq
sub eax, edx
mov edx, eax
mov eax, ecx
shl ebx, 4
sar edx, 1
add edx, ebx
imul edx, esi
mov ecx, edx
cdq
shl edi, 4
sub eax, edx
mov edx, edi
sar eax, 1
add edx, ecx
add eax, edx
mov edx, dword [esp + 0x5c]
add eax, dword [edx]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x4c]
mov ecx, ebp
mov edx, eax
and ecx, 1
and edx, 1
lea ecx, [edx + ecx*2]
sub ecx, 0
je 0x44d8f2
dec ecx
je 0x44d8d2
dec ecx
je 0x44d8b2
dec eax
cdq
sub eax, edx
mov ecx, eax
lea eax, [ebp - 1]
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x78]
mov ebx, eax
add edi, ecx
sar ebx, 1
add ebx, edi
jmp 0x44d90f
cdq
sub eax, edx
mov ecx, eax
lea eax, [ebp - 1]
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x70]
mov ebx, eax
add edi, ecx
sar ebx, 1
add ebx, edi
jmp 0x44d90f
dec eax
cdq
sub eax, edx
mov ecx, eax
mov eax, ebp
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x74]
mov ebx, eax
add edi, ecx
sar ebx, 1
add ebx, edi
jmp 0x44d90f
cdq
sub eax, edx
mov ecx, eax
mov eax, ebp
sar ecx, 1
add ecx, ebx
imul ecx, esi
cdq
sub eax, edx
mov edx, dword [esp + 0x6c]
mov ebx, eax
add edi, ecx
sar ebx, 1
add ebx, edi
add ebx, dword [edx]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
xor edi, edi
mov dword [esp + 0x68], edx
lea ecx, [eax + eax]
mov dword [esp + 0x60], ecx
mov ecx, edi
mov edx, edi
sar ecx, 1
mov eax, ecx
and edx, 1
imul eax, esi
add eax, edx
push esi
shl eax, 3
lea ebp, [eax + ebx]
push ebp
mov ebp, dword [esp + 0x6c]
add eax, ebp
mov ebp, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x60]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x6c]
imul ecx, esi
add ecx, eax
add ecx, edx
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
lea ecx, [eax + ecx*8]
push ecx
push ebp
call dword [0x50bb3c]
add esp, 0x14
inc edi
add ebp, 0x80
cmp edi, 4
mov dword [esp + 0x68], ebp
jl 0x44d926
mov eax, dword [esp + 0x14]
mov edx, eax
and edx, 3
sar eax, 1
mov ecx, dword [edx*4 + 0x484ed4]
add ecx, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, eax
and ecx, 3
sar eax, 1
mov ecx, dword [ecx*4 + 0x484ed4]
add ecx, eax
mov eax, dword [esp + 0x48]
mov edx, eax
mov dword [esp + 0x10], ecx
and edx, 3
sar eax, 1
mov ecx, dword [edx*4 + 0x484ed4]
add ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x48], ecx
mov ecx, eax
and ecx, 3
sar eax, 1
mov ecx, dword [ecx*4 + 0x484ed4]
jmp 0x44df1f
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x34], ecx
lea ecx, [edx + 4]
sub eax, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ecx, dword [ecx + eax]
mov edi, dword [eax - 4]
mov ebx, dword [eax]
mov eax, dword [esp + 0x18]
mov ebp, dword [edx]
mov dword [esp + 0x48], edi
test eax, eax
mov dword [esp + 0x4c], ebx
je 0x44dda2
mov eax, ebp
cdq
sub eax, edx
mov edx, dword [esp + 0x10]
sar eax, 1
add edx, eax
mov eax, ecx
mov dword [esp + 0x10], edx
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
add edx, eax
mov eax, edi
mov dword [esp + 0x1c], edx
cdq
sub eax, edx
mov edx, dword [esp + 0x20]
sar eax, 1
add edx, eax
mov eax, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x20], edx
cdq
sub eax, edx
mov edx, ecx
sar eax, 1
or edx, ebp
add ebx, eax
test dl, 3
mov dword [esp + 0x24], ebx
je 0x44dca3
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x54]
mov eax, edx
and edx, 1
sar eax, 1
mov dword [esp + 0x3c], edx
mov ebx, dword [0x49de60]
lea eax, [eax + edi*2]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x40], eax
add edi, edi
shl eax, 3
add edx, edi
mov edi, eax
sub edi, eax
lea eax, [ecx + eax*4]
sar eax, 2
imul edi, esi
imul eax, esi
shl edx, 3
mov dword [esp + 0x28], edx
add edi, dword [esp + 0x80]
lea edx, [ebp + edx*4]
and ecx, 3
sar edx, 2
add eax, edx
mov edx, dword [esp + 0x5c]
shl ecx, 2
add eax, dword [edx]
and ebp, 3
or ecx, ebp
cmp ecx, 0xf
ja case.default.0x44daf4
jmp dword [ecx*4 + 0x44e0d8]
push esi
push eax
push edi
call dword [0x50bb30]
add esp, 0xc
jmp case.default.0x44daf4
push 0
push esi
push 8
push eax
push edi
call dword [ebx + 0x1c]
add esp, 0x14
jmp case.default.0x44daf4
push 0
push esi
push 8
push eax
push edi
call dword [ebx + 0x18]
add esp, 0x14
jmp case.default.0x44daf4
push 0
push esi
push 8
push eax
push edi
call dword [ebx + 0x20]
add esp, 0x14
jmp case.default.0x44daf4
push 0
push esi
push 8
push eax
push edi
call dword [ebx + 0x28]
add esp, 0x14
jmp case.default.0x44daf4
push 0
push esi
push 9
push eax
mov eax, dword [esp + 0x90]
lea ebp, [eax + 0x20]
push ebp
call dword [ebx + 0x1c]
push 0
push esi
push 8
push ebp
push edi
call dword [ebx + 0x28]
jmp 0x44dc8b
mov ecx, dword [esp + 0x80]
push 0
push esi
push 9
lea ebp, [ecx + 0x20]
push eax
push ebp
call dword [ebx + 0x18]
push 0
push esi
push 8
push ebp
push edi
call dword [ebx + 0x28]
jmp 0x44dc8b
mov edx, dword [esp + 0x80]
push 0
push esi
push 9
lea ebp, [edx + 0x20]
push eax
push ebp
call dword [ebx + 0x20]
push 0
push esi
push 8
push ebp
push edi
call dword [ebx + 0x28]
jmp 0x44dc8b
push 0
push esi
push 8
push eax
push edi
call dword [ebx + 0x24]
add esp, 0x14
jmp case.default.0x44daf4
push 0
push esi
push 9
push eax
mov eax, dword [esp + 0x90]
lea ebp, [eax + 0x20]
push ebp
call dword [ebx + 0x1c]
push 0
push esi
push 8
push ebp
push edi
call dword [ebx + 0x24]
jmp 0x44dc8b
mov ecx, dword [esp + 0x80]
push 0
push esi
push 9
lea ebp, [ecx + 0x20]
push eax
push ebp
call dword [ebx + 0x18]
push 0
push esi
push 8
push ebp
push edi
call dword [ebx + 0x24]
jmp 0x44dc8b
mov edx, dword [esp + 0x80]
push 0
push esi
push 9
lea ebp, [edx + 0x20]
push eax
push ebp
call dword [ebx + 0x20]
push 0
push esi
push 8
push ebp
push edi
call dword [ebx + 0x24]
jmp 0x44dc8b
push 0
push esi
push 8
push eax
push edi
call dword [ebx + 0x2c]
add esp, 0x14
jmp case.default.0x44daf4
push 0
push esi
push 9
push eax
mov eax, dword [esp + 0x90]
lea ebp, [eax + 0x20]
push ebp
call dword [ebx + 0x1c]
jmp 0x44dc81
mov ecx, dword [esp + 0x80]
push 0
push esi
push 9
lea ebp, [ecx + 0x20]
push eax
push ebp
call dword [ebx + 0x18]
jmp 0x44dc81
mov edx, dword [esp + 0x80]
push 0
push esi
push 9
lea ebp, [edx + 0x20]
push eax
push ebp
call dword [ebx + 0x20]
push 0
push esi
push 8
push ebp
push edi
call dword [ebx + 0x2c]
add esp, 0x28
mov ebp, dword [esp + 0x80]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x44dcfe
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
mov eax, ebx
and ebx, 1
sar eax, 1
lea edi, [eax + edx*2]
mov eax, dword [esp + 0x50]
add eax, eax
add eax, ebx
shl eax, 3
mov dword [esp + 0x28], eax
mov eax, ecx
cdq
and edx, 3
add eax, edx
mov ecx, eax
lea eax, [edi*8]
sar ecx, 2
add ecx, eax
mov eax, ebp
imul ecx, esi
cdq
and edx, 3
add eax, edx
mov edx, dword [esp + 0x28]
mov ebp, eax
mov eax, dword [esp + 0x5c]
sar ebp, 2
add edx, ecx
mov ecx, dword [eax]
mov eax, dword [esp + 0x4c]
add ebp, edx
add ebp, ecx
mov edx, dword [esp + 0x48]
mov ecx, eax
or ecx, edx
test cl, 3
je 0x44dd69
push 0
mov ecx, dword [esp + 0x84]
push esi
push eax
mov eax, dword [esp + 0x54]
lea edx, [ecx + 0x10]
push eax
lea eax, [edi*8]
push eax
mov eax, dword [esp + 0x3c]
push eax
lea eax, [ecx + 0x30]
push eax
lea eax, [ecx + 0x20]
push eax
mov dword [esp + 0x6c], edx
push edx
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
mov edx, edi
imul edx, esi
push eax
mov eax, dword [esp + 0x78]
neg eax
shl eax, 1
sub eax, edx
sub eax, ebx
lea ecx, [ecx + eax*8 + 0x10]
push ecx
call fcn.0044e570
mov ecx, dword [esp + 0x78]
add esp, 0x2c
jmp 0x44de5f
cdq
and edx, 3
add eax, edx
mov ecx, eax
lea eax, [edi*8]
sar ecx, 2
add ecx, eax
mov eax, dword [esp + 0x48]
imul ecx, esi
cdq
and edx, 3
add eax, edx
mov edx, dword [esp + 0x6c]
sar eax, 2
add ecx, eax
mov eax, dword [edx]
add ecx, eax
mov eax, dword [esp + 0x28]
add ecx, eax
jmp 0x44de5f
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add eax, ecx
mov edi, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
add edx, ebp
add ebx, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x14]
add edi, edx
mov edx, dword [esp + 0x54]
mov eax, ebx
sar eax, 1
mov dword [esp + 0x24], edi
push esi
lea edi, [eax + edx*2]
mov eax, dword [esp + 0x54]
and ebx, 1
add eax, eax
push ecx
mov ecx, dword [esp + 0x70]
push ebp
add eax, ebx
mov edx, dword [ecx]
push 8
push edi
mov dword [esp + 0x54], eax
push eax
mov eax, dword [esp + 0x7c]
push edx
mov edx, dword [esp + 0x7c]
mov ecx, dword [eax]
mov eax, dword [edx]
push ecx
mov ecx, dword [esp + 0x7c]
push eax
mov edx, dword [ecx]
push edx
call fcn.0044e120
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x68]
mov ebp, eax
mov eax, dword [esp + 0x74]
push esi
push eax
mov eax, dword [esp + 0xa8]
push ecx
push 8
push edi
mov ecx, dword [eax]
push edx
mov edx, dword [esp + 0xb4]
push ecx
mov ecx, dword [esp + 0xb4]
mov eax, dword [edx]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0xb4]
push edx
mov ecx, dword [eax]
push ecx
call fcn.0044e120
add esp, 0x50
mov ecx, eax
mov edx, dword [esp + 0x50]
imul edi, esi
lea eax, [edx + edx]
push esi
add edi, eax
mov eax, dword [esp + 0x5c]
push ecx
add edi, ebx
mov ecx, dword [eax]
mov eax, dword [esp + 0x3c]
push ebp
lea edx, [ecx + edi*8]
push edx
push eax
call dword [0x50bb3c]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
add esp, 0x14
mov ecx, 8
inc eax
add ebx, ecx
add edi, ecx
add edx, 0x80
cmp eax, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edx
jl 0x44da0d
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 0xf
sar eax, 3
mov ecx, dword [ecx*4 + 0x484e74]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov edx, eax
mov dword [esp + 0x14], ecx
and edx, 0xf
sar eax, 3
mov ecx, dword [edx*4 + 0x484e74]
add ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov ecx, eax
and ecx, 0xf
sar eax, 3
mov ecx, dword [ecx*4 + 0x484e74]
add ecx, eax
mov eax, dword [esp + 0x24]
mov edx, eax
mov dword [esp + 0x48], ecx
and edx, 0xf
sar eax, 3
mov ecx, dword [edx*4 + 0x484e74]
add ecx, eax
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x54]
mov edi, esi
imul esi, ecx
shr edi, 1
lea ebp, [ecx*8]
mov ecx, dword [esp + 0x10]
push edi
push 0
lea ebx, [eax*8]
push edi
lea eax, [edx + 8]
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push ebp
mov edx, dword [ecx + 4]
push ebx
shl esi, 3
shr esi, 1
push edx
push eax
add esi, ebx
call fcn.0044e210
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x90]
add esp, 0x20
push eax
mov eax, dword [esp + 0x54]
push 0
push edi
push eax
mov eax, dword [edx + 4]
push ecx
mov ecx, dword [esp + 0x98]
push ebp
push ebx
push eax
push ecx
call fcn.0044e210
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0xa4]
add esp, 0x20
add ecx, 0x200
push eax
mov eax, dword [edx + 4]
add eax, esi
push eax
push ecx
call dword [0x50bb3c]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x70]
add esp, 0x14
push edi
push 0
push edi
push edx
mov edx, dword [ecx + 8]
push eax
mov eax, dword [esp + 0x94]
push ebp
push ebx
add eax, 8
push edx
push eax
call fcn.0044e210
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
add esp, 0x20
push eax
push 0
push edi
push ecx
push edx
push ebp
push ebx
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0xa0]
mov ecx, dword [eax + 8]
push ecx
push edx
call fcn.0044e210
add esp, 0x20
mov edx, dword [esp + 0x84]
add edx, 0x280
push eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 8]
add ecx, esi
push ecx
push edx
call dword [0x50bb3c]
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret